Microsoft .NET Framework
From WPKG | Open Source Software Deployment and Distribution
Contents |
[edit] 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.
[edit] 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>
[edit] 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="Microsoft .NET Framework 2.0"> <check type="uninstall" condition="exists" path="Microsoft .NET Framework 2.0" /> <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>
[edit] 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>
[edit] 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>
[edit] 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>
[edit] 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'/>