Difference between revisions of "Microsoft .NET Framework"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
m (add cat)
(Microsoft .NET Framework 2.0)
Line 71: Line 71:
  
 
<source lang="xml">
 
<source lang="xml">
<package id="dotnet20" name="Microsoft .NET Framework 2.0">
+
<package id="dotnet20" name="%pkgname%">
  <check type="uninstall" condition="exists" path="Microsoft .NET Framework 2.0" />
+
 +
<variable name="pkgname" value="Microsoft .NET Framework 2.0" />
 +
 +
  <check type="logical" condition="or">
 +
        <check type="uninstall" condition="exists" path="%pkgname% Service Pack 2" />
 +
        <check type="uninstall" condition="exists" path="%pkgname% Service Pack 1" />
 +
        <check type="uninstall" condition="exists" path="%pkgname%" />
 +
</check>
 +
 
  <install cmd='%SOFTWARE%\updates\common\enu\dotnetfx2.exe /q /c:"install /q"' >
 
  <install cmd='%SOFTWARE%\updates\common\enu\dotnetfx2.exe /q /c:"install /q"' >
 
   <exit code="194" reboot="true" />
 
   <exit code="194" reboot="true" />

Revision as of 09:24, 20 April 2011

Offline installer not really offline

The offline installer will try to go online to get language packs if it decides you need them... You can disable this behaviour with the "/lang:ENU" flag.

Microsoft .NET Framework 1.1

This is a silent installer for Microsoft .NET Framework. Download here

<package id="dotnet112k" name="Microsoft .NET Framework 1.1">
 <!-- Microsoft .NET Framework Version 1.1 Redistributable Package -->
 <check type="file" condition="exists" path="%Windir%\Microsoft.NET\Framework\sbscmp10.dll" />
 <install cmd='%SOFTWARE%\updates\common\enu\dotnetfx.exe /q /c:"install /q"' >
 <exit code="194" reboot="true" />
 <exit code="1603" />
 <exit code="3010" reboot="true" />
 </install>
</package>

Another way to run the .NET installer:

Extract the contents of dotnetfx.exe, and then invoke the install directly (this also saves a bit of time for the clients)

<package id="dotnet112k" name="Microsoft .NET Framework 1.1">
 <!-- Microsoft .NET Framework Version 1.1 Redistributable Package -->
 <check type="file" condition="exists" path="%Windir%\Microsoft.NET\Framework\sbscmp10.dll" />
 <install cmd='%SOFTWARE%\updates\common\enu\install /q' >
 <exit code="194" reboot="true" />
 <exit code="1603" />
 <exit code="3010" reboot="true" />
 </install>
</package>

And Microsoft .NET Framework 1.1 Service Pack 1 (download here):

<package id="dotnet11sp12k" name="Microsoft .NET Framework 1.1 Service Pack 1">
 <!-- Microsoft .NET Framework 1.1 Service Pack 1 -->
 <check type="registry" condition="exists" path="HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322\SP" />
 <install cmd='%SOFTWARE%\updates\common\NDP1.1sp1-KB867460-X86.exe /q /i' >
 <exit code="194" reboot="true" />
 <exit code="1603" />
 <exit code="3010" reboot="true" />
 </install>
</package>

Same for X64 system:

<package id="dotnet11sp12k" name="Microsoft .NET Framework 1.1 Service Pack 1">
 <!-- Microsoft .NET Framework 1.1 Service Pack 1 -->
 <check type="registry" condition="exists" path="HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\NET Framework Setup\NDP\v1.1.4322\SP" />
 <install cmd='%SOFTWARE%\updates\common\NDP1.1sp1-KB867460-X86.exe /q /i' >
 <exit code="194" reboot="true" />
 <exit code="1603" />
 <exit code="3010" reboot="true" />
 </install>
</package>

Microsoft .NET Framework 2.0

Download link: Microsoft .NET Framework 2.0 Redistributable (x86).

Download link: Microsoft .NET Framework 2.0 SP1 Redistributable (x64).

<package id="dotnet20" name="%pkgname%">
 
 <variable name="pkgname" value="Microsoft .NET Framework 2.0" />
 
 <check type="logical" condition="or">
        <check type="uninstall" condition="exists" path="%pkgname% Service Pack 2" />
        <check type="uninstall" condition="exists" path="%pkgname% Service Pack 1" />
        <check type="uninstall" condition="exists" path="%pkgname%" />
 </check>
 
 <install cmd='%SOFTWARE%\updates\common\enu\dotnetfx2.exe /q /c:"install /q"' >
  <exit code="194" reboot="true" />
  <exit code="1603" />
  <exit code="3010" reboot="true" />
 </install>
</package>

Microsoft .NET Framework 2.0 language pack

Replace DEU with whatever language pack you will be installing:

<package id="dotnet20lp" name="Microsoft .NET Framework 2.0 Language Pack">
 <check type="uninstall" condition="exists" path="Microsoft .NET Framework 2.0 Language Pack - DEU" />
 <install cmd='%SOFTWARE%\updates\common\enu\langpackfx2.exe /q /c:"install /q"' />
</package>

Microsoft .NET Framework 2.0 SP1

Download link: Microsoft .NET Framework 2.0 SP1 Redistributable (x86).

Download link: Microsoft .NET Framework 2.0 SP1 Redistributable (x64).

<package id="dotnet20" name="Microsoft .NET Framework 2.0">
 <check type="uninstall" condition="exists" path="Microsoft .NET Framework 2.0 Service Pack 1" />
 <install cmd='%SOFTWARE%\dotNET\NetFx20SP1_x86.exe /q /c:"install /q"' >
  <exit code="194" reboot="true" />
  <exit code="1603" />
  <exit code="3010" reboot="true" />
 </install>

 <remove cmd='msiexec /x {B508B3F1-A24A-32C0-B310-85786919EF28} REBOOT=ReallySuppress /l*v %temp%\netfx20sp1_uninstall_log.txt /qn' >
  <exit code="194" reboot="true" />
  <exit code="1603" />
  <exit code="3010" reboot="true" />
 </remove>
</package>

Microsoft .NET Framework 3.0

Download from: Microsoft .NET Framework 3.0 X86 redist

Download from: Microsoft .NET Framework 3.0 X64 resist

Download from: Microsoft .NET Framework 3.0 SP1 X86 redist

Download from: Microsoft .NET Framework 3.0 SP1 X64 resist


<package id="dotnet30" name="Microsoft .NET Framework 3.0" revision="1" priority="900" >
<check type="uninstall" condition="exists" path="Microsoft .NET Framework 3.0" />
<install cmd='%SOFTWARE%\updates\common\dotnetfx3.exe /q /norestart' >
   <exit code="194" reboot="true" />
   <exit code="1603" />
   <exit code="3010" reboot="true" />
</install>
</package>

Microsoft .NET Framework 3.5 SP1

Download from http://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7 (choose/change your language and scroll down to "To download the full package, rather than the bootstrapper, click on the link below: .NET Framework 3.5 Service Pack 1 (Full Package)".

The "or" file check will skip the installation and mark the software as "installed" on system that has dotnet3.5 preinstalled (e.g. Windows 7)

<package id="dotnet35" name="Microsoft .NET Framework 3.5 SP1" revision="1" priority="900" >
<check type='logical' condition='or'>
   <check type="uninstall" condition="exists" path="Microsoft .NET Framework 3.5 SP1" />
   <check type='file' condition='exists' path='%SYSTEMROOT%\Microsoft.NET\Framework\v3.5\MSBuild.exe' />
</check>
<install cmd='%SOFTWARE%\updates\common\dotnetfx35.exe /q /norestart' >
   <exit code="194" reboot="true" />
   <exit code="1603" />
   <exit code="3010" reboot="true" />
</install>
<remove cmd='MsiExec.exe /qn /X{CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9}' />
</package>

Or, an alternative method for the remove line, is to use the string reported in the HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall key. In fact that does not report the {CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9} GUID, but states that the uninstallation string is:

"C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft .NET Framework 3.5 SP1\setup.exe"

That would bring up the interactive installation/uninstallation/repair screen so we should use it with the following parameters:

/q
/uninstall
/norestart
(more command line switches are available executing the setup with /?.)

So the remove line could as well be:

<remove cmd='"%WINDIR%\Microsoft.NET\Framework\v3.5\Microsoft .NET Framework 3.5 SP1\setup.exe" /q /uninstall /norestart'/>