Microsoft .NET Framework

From WPKG | Open Source Software Deployment and Distribution

Jump to: navigation, search

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'/>
Personal tools