Aaron Stebner's WebLog

Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio

Creating an administrative install point for the .NET Framework 2.0 SP2

Creating an administrative install point for the .NET Framework 2.0 SP2

  • Comments 9

A while back, I posted some instructions that can be used to create an administrative install point for the .NET Framework 2.0 SP1.  Since then, the .NET Framework 2.0 SP2 has been released (it is required in order to install the .NET Framework 3.5 SP1).  Here are some updated steps that can be used to create an administrative install point for the .NET Framework 2.0 SP2 for each of the supported processor architectures.

To create an administrative install point for the .NET Framework 2.0 SP2 x86:

  1. Download the package named netfx20sp2_x86.exe from http://www.microsoft.com/downloads/details.aspx?FamilyID=5b2c0358-915b-4eb5-9b1d-10e506da9d0f and save it to your local hard drive
  2. Extract the contents of the setup package by running this command:
    netfx20sp2_x86.exe /x:c:\netfx20sp2\x86
  3. Stage the base MSI by running this command:
    msiexec /a "c:\netfx20sp2\x86\wcu\dotnetframework\dotnetfx20\netfx20a_x86.msi" TARGETDIR="c:\netfx20sp2\x86\AIP"
  4. Apply the patches to the staged base MSI by running this command:
    msiexec /a "c:\netfx20sp2\x86\AIP\netfx20a_x86.msi" PATCH="c:\netfx20sp2\x86\wcu\dotnetframework\dotnetfx20\ASPNET.msp;c:\netfx20sp2\x86\wcu\dotnetframework\dotnetfx20\CLR.msp;c:\netfx20sp2\x86\wcu\dotnetframework\dotnetfx20\CRT.msp;c:\netfx20sp2\x86\wcu\dotnetframework\dotnetfx20\NetFX_CA.msp;c:\netfx20sp2\x86\wcu\dotnetframework\dotnetfx20\NetFX_Core.msp;c:\netfx20sp2\x86\wcu\dotnetframework\dotnetfx20\NetFX_Other.msp;c:\netfx20sp2\x86\wcu\dotnetframework\dotnetfx20\PreXP.msp;c:\netfx20sp2\x86\wcu\dotnetframework\dotnetfx20\WinForms.msp;c:\netfx20sp2\x86\wcu\dotnetframework\dotnetfx20\DW.msp"

With these steps, you will have an administrative install point for the .NET Framework 2.0 SP2 x86 located at c:\netfx20sp2\x86\AIP.  You can then install the MSI directly using a command line like the following:

msiexec.exe /i c:\netfx20sp2\x86\AIP\netfx20a_x86.msi /l*v %temp%\netfx20sp2x86log.txt /qb VSEXTUI=1

You can adjust the parameters as needed if you want a fully silent install instead of basic UI, or want to use any other standard Windows Installer command line parameters.

To create an administrative install point for the .NET Framework 2.0 SP2 x64:

  1. Download the package named netfx20sp2_x64.exe from http://www.microsoft.com/downloads/details.aspx?FamilyID=5b2c0358-915b-4eb5-9b1d-10e506da9d0f and save it to your local hard drive
  2. Extract the contents of the setup package by running this command:
    netfx20sp2_x64.exe /x:c:\netfx20sp2\x64
  3. Stage the base MSI by running this command:
    msiexec /a "c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\netfx20a_x64.msi" TARGETDIR="c:\netfx20sp2\x64\AIP"
  4. Apply the patches to the staged base MSI by running this command:
    msiexec /a "c:\netfx20sp2\x64\AIP\netfx20a_x64.msi" PATCH="c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\ASPNET_64.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\CLR_64.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\CRT_64.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\DW_64.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\NetFX_Core_64.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\NetFX_Other_64.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\WinForms_64.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\ASPNET.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\CLR.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\CRT.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\NetFX_CA.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\NetFX_Core.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\NetFX_Other.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\PreXP.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\WinForms.msp;c:\netfx20sp2\x64\wcu\dotnetframework\dotnetfx20\DW.msp"

With these steps, you will have an administrative install point for the .NET Framework 2.0 SP2 x64 located at c:\netfx20sp2\x64\AIP.  You can then install the MSI directly using a command line like the following:

msiexec.exe /i c:\netfx20sp2\x64\AIP\netfx20a_x64.msi /l*v %temp%\netfx20sp2x64log.txt /qb VSEXTUI=1

You can adjust the parameters as needed if you want a fully silent install instead of basic UI, or want to use any other standard Windows Installer command line parameters.

To create an administrative install point for the .NET Framework 2.0 SP2 ia64:

  1. Download the package named netfx20sp2_ia64.exe from http://www.microsoft.com/downloads/details.aspx?FamilyID=5b2c0358-915b-4eb5-9b1d-10e506da9d0f and save it to your local hard drive
  2. Extract the contents of the package by running this command:
    netfx20sp2_ia64.exe /x:c:\netfx20sp2\ia64
  3. Stage the base MSI by running this command:
    msiexec /a "c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\netfx20a_ia64.msi" TARGETDIR="c:\netfx20sp2\ia64\AIP"
  4. Apply the patches to the staged base MSI by running this command:
    msiexec /a "c:\netfx20sp2\ia64\AIP\netfx20a_ia64.msi" PATCH="c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\ASPNET_i64.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\CLR_i64.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\CRT_i64.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\DW_i64.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\NetFX_Core_i64.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\NetFX_Other_i64.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\WinForms_i64.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\ASPNET.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\CLR.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\CRT.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\NetFX_CA.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\NetFX_Core.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\NetFX_Other.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\PreXP.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\WinForms.msp;c:\netfx20sp2\ia64\wcu\dotnetframework\dotnetfx20\DW.msp"

With these steps, you will have an administrative install point for the .NET Framework 2.0 SP2 ia64 located at c:\netfx20sp2\ia64\AIP.  You can then install the MSI directly using a command line like the following:

msiexec.exe /i c:\netfx20sp2\ia64\AIP\netfx20a_ia64.msi /l*v %temp%\netfx20sp2ia64log.txt /qb VSEXTUI=1

You can adjust the parameters as needed if you want a fully silent install instead of basic UI, or want to use any other standard Windows Installer command line parameters.

  • A while back, I posted some instructions that can be used to create an administrative install point for

  • A while back, I wrote a blog post about how to perform silent repairs and uninstalls for the .NET Framework

  • Is it possible to integrate the .NET 3.5 Family Update into such an installation point?  I have install points for .NET 2.0 SP2, 3.0 SP2, and 3.5 SP1 and tried integrating the respective Family Update patch (NDPxxSPx-KB95848x.msp) into each.  Installations using the resulting install points complete successfully, but in Add/Remove Programs only .NET 3.5 has a new update appear under it (KB958484) and an entry for "Microsoft .NET Framework 3.5 Service Pack 1 and .NET Framework 3.5 Family Update (KB951847) x86" still appears in Microsoft Update.  So, I'm guessing the Family Update didn't get installed correctly.

    Also, given that .NET 3.5 depends on .NET 3.0 depends on .NET 2.0 and they have to be uninstalled in that order, how do these installation points work when an upgrade is needed (ie .NET 2.0 SP2 is deployed to a workstation with .NET 2.0 SP1)?  Is any special handling necessary, or does Windows Installer take care of that magic?  I only have .NET deployed to a few development workstations, and seem to remember having to manually do a full uninstall of all three framework versions when upgrading to a new set of service packs.

  • Hi Bacon - The .NET Framework 3.5 family update includes patches for the .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1.  If you already have administrative install points for 2.0 SP2, 3.0 SP2 and 3.5 SP1, you should be able to just apply the MSP files for the 3.5 family update to your install points and then deploy your 2.0 install point, then your 3.0 install point, then your 3.5 install point to the target computers.

    I'm not sure if the 3.5 family update is configured to add entries to Add/Remove Programs for 2.0 or 3.0.  That isn't the most reliable way to determine if the 3.5 family update is correctly installed though.  It would be better to look at the files and registry on the system and verify that they are updated to the new family update version numbers.  You can find the relevant files and versions in each of the individual KB articles:

    2.0 SP2 family update fixes - http://support.microsoft.com/kb/958481/

    3.0 SP2 family update fixes - http://support.microsoft.com/kb/958483/

    3.5 SP1 family update fixes - http://support.microsoft.com/kb/958484/

    The service packs for the .NET Framework 2.0, 3.0 and 3.5 are slipstream releases, and they will perform an uninstall of the older version behind the scenes as a part of their install processes.  You don't need to manually uninstall older versions or service packs prior to installing newer service packs.

    The one exception here is that an uninstall will not occur if you already have 2.0 SP2, 3.0 SP2 and 3.5 SP1 on the system and then try to install from your updated administrative install point to add the 3.5 family update.  In that scenario, you would need to uninstall 3.5 SP1, then 3.0 SP2, then 2.0 SP2, then re-deploy 2.0 SP2 + family update, 3.0 SP2 + family update and then 3.5 SP1 + family update.

  • hi,Aaron Stebner.i just want to perform unattended installs of the .NET Framework 2.0 sp2 like your another article (blogs.msdn.com/.../512893.aspx),how to do that ? thx in advance.

  • by the way,i want to perfrom unattended installs of the .net framework 2.0 sp2 with user interaction or a progress dialog.maybe it's a harsh requirement.

  • Hi Popair - The command line parameters for the .NET Framework 2.0 SP2 installer are the same as for the .NET Framework 3.5 installer, and they are listed in the MSDN topic at msdn.microsoft.com/.../cc160716.aspx.  There is not an unattended option listed there though, so if you want to use switches like that, you will have to install in silent mode instead of unattended mode.  If you need an unattended install, you can use the steps above in this blog post and then make sure you pass /qb or /qb! when you run msiexec.exe to install the .NET Framework 2.0 SP2.

  • thank u,Aaron Stebner.i will have a try.

  • Excellent article, it helped me to repair a corrupted dotNet installation, thank you Aaron.

Page 1 of 1 (9 items)
Leave a Comment
  • Please add 1 and 7 and type the answer here:
  • Post