Difference between revisions of "Microsoft .NET Framework"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
(Microsoft .NET Framework 3.5 SP1: More on uninstallation.)
(Microsoft .NET Framework 2.0 SP1)
Line 100: Line 100:
 
<source lang="xml">
 
<source lang="xml">
 
<package id="dotnet20" name="Microsoft .NET Framework 2.0">
 
<package id="dotnet20" name="Microsoft .NET Framework 2.0">
  <check type="uninstall" condition="exists" path="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"' >
 
  <install cmd='%SOFTWARE%\dotNET\NetFx20SP1_x86.exe /q /c:"install /q"' >
 
   <exit code="194" reboot="true" />
 
   <exit code="194" reboot="true" />

Revision as of 05:33, 1 April 2010

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="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>

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)".

<package id="dotnet35" name="Microsoft .NET Framework 3.5 SP1" revision="1" priority="900" >
<check type="uninstall" condition="exists" path="Microsoft .NET Framework 3.5 SP1" />
<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'/>