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


A while back, I posted some instructions that can be used to create an administrative install point for the .NET Framework 2.0.  The .NET Framework 2.0 SP1 was recently released (it is required in order to install the .NET Framework 3.5).  There are some behind the scenes architecture changes in the .NET Framework 2.0 SP1 setup (which I’m planning to describe in more detail in a future blog post).  Those changes cause the previous instructions I posted for creating an administrative install point to no longer work.

Here are some updated steps that can be used to create an administrative install point for the .NET Framework 2.0 SP1 for each of the supported processor architectures.

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


  1. Download the full package from http://www.microsoft.com/downloads/details.aspx?FamilyId=79BC3B77-E02C-4AD3-AACF-A7633F706BA5 and save it to your local hard drive
  2. Extract the contents of the setup package by running this command:

    netfx20sp1_x86.exe /x:c:\netfx20sp1\x86

  3. Stage the base MSI by running this command:

    msiexec /a “c:\netfx20sp1\x86\wcu\dotnetframework\dotnetfx20\netfx20a_x86.msi” TARGETDIR=”c:\netfx20sp1\x86\AIP”

  4. Apply the patches to the staged base MSI by running this command:

    msiexec /a “c:\netfx20sp1\x86\AIP\netfx20a_x86.msi” PATCH=”c:\netfx20sp1\x86\wcu\dotnetframework\dotnetfx20\ASPNET.msp;c:\netfx20sp1\x86\wcu\dotnetframework\dotnetfx20\CLR.msp;c:\netfx20sp1\x86\wcu\dotnetframework\dotnetfx20\CRT.msp;c:\netfx20sp1\x86\wcu\dotnetframework\dotnetfx20\NetFX_CA.msp;c:\netfx20sp1\x86\wcu\dotnetframework\dotnetfx20\NetFX_Core.msp;c:\netfx20sp1\x86\wcu\dotnetframework\dotnetfx20\NetFX_Other.msp;c:\netfx20sp1\x86\wcu\dotnetframework\dotnetfx20\PreXP.msp;c:\netfx20sp1\x86\wcu\dotnetframework\dotnetfx20\WinForms.msp;c:\netfx20sp1\x86\wcu\dotnetframework\dotnetfx20\DW.msp”

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



msiexec.exe /i c:\netfx20sp1\x86\AIP\netfx20a_x86.msi /l*v %temp%\netfx20sp1x86log.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 SP1 x64:


  1. Download the full package from http://www.microsoft.com/downloads/details.aspx?FamilyId=029196ED-04EB-471E-8A99-3C61D19A4C5A and save it to your local hard drive
  2. Extract the contents of the setup package by running this command:

    netfx20sp1_x64.exe /x:c:\netfx20sp1\x64

  3. Stage the base MSI by running this command:

    msiexec /a “c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\netfx20a_x64.msi” TARGETDIR=”c:\netfx20sp1\x64\AIP”

  4. Apply the patches to the staged base MSI by running this command:

    msiexec /a “c:\netfx20sp1\x64\AIP\netfx20a_x64.msi” PATCH=”c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\ASPNET_64.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\CLR_64.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\CRT_64.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\DW_64.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\NetFX_Core_64.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\NetFX_Other_64.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\WinForms_64.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\ASPNET.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\CLR.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\CRT.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\NetFX_CA.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\NetFX_Core.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\NetFX_Other.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\PreXP.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\WinForms.msp;c:\netfx20sp1\x64\wcu\dotnetframework\dotnetfx20\DW.msp”

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



msiexec.exe /i c:\netfx20sp1\x64\AIP\netfx20a_x64.msi /l*v %temp%\netfx20sp1x64log.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 SP1 ia64:


  1. Download the full package from http://www.microsoft.com/downloads/details.aspx?FamilyId=32E77AE0-96EF-4ECD-A157-9BF61A7C8DAA and save it to your local hard drive
  2. Extract the contents of the package by running this command:

    netfx20sp1_ia64.exe /x:c:\netfx20sp1\ia64

  3. Stage the base MSI by running this command:

    msiexec /a “c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\netfx20a_ia64.msi” TARGETDIR=”c:\netfx20sp1\ia64\AIP”

  4. Apply the patches to the staged base MSI by running this command:

    msiexec /a “c:\netfx20sp1\ia64\AIP\netfx20a_ia64.msi” PATCH=”c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\ASPNET_i64.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\CLR_i64.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\CRT_i64.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\DW_i64.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\NetFX_Core_i64.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\NetFX_Other_i64.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\WinForms_i64.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\ASPNET.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\CLR.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\CRT.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\NetFX_CA.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\NetFX_Core.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\NetFX_Other.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\PreXP.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\WinForms.msp;c:\netfx20sp1\ia64\wcu\dotnetframework\dotnetfx20\DW.msp”

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



msiexec.exe /i c:\netfx20sp1\ia64\AIP\netfx20a_ia64.msi /l*v %temp%\netfx20sp1ia64log.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.


<update date=”1/23/2008″> Added example command lines to install the MSI directly after creating the administrative install point. </update>


 

Comments (30)

  1. I recently posted a set of instructions for creating an administrative install point for the .NET Framework

  2. I recently posted a set of instructions for creating an administrative install point for the .NET Framework

  3. TerryCheng says:

    .NET Framework 2.0 SP1 appears to be a full version with sp1 slipstreamed.  Can go skip 2.0 install and go straight to install 2.0 Sp1 instead?

  4. Hi TerryCheng – You’re correct, the .NET Framework 2.0 SP1 is a slipstream release that includes the original .NET Framework 2.0 functionality and the patched binaries that are a part of SP1.  The 2.0 SP1 package will correctly install on a system that does not yet have the .NET Framework 2.0, and it will automatically upgrade the .NET Framework 2.0 to SP1 if it is already on the system.

    If you’re interested, I posted a bit more about the behind the scenes details of 2.0 SP1 setup at http://blogs.msdn.com/astebner/archive/2008/01/17/7145670.aspx.

  5. The official deployment guides for system administrators and application developers have been posted

  6. The official deployment guides for system administrators and application developers have been posted

  7. jwmartin says:

    After installing and using Quickbooks 2008 for awhile, all of a sudden a laptop could not get into quickbooks.    the Loading screen appeared but then would disappear without opening quickbooks.   after much research (see http://support.quickbooks.intuit.com/support/pages/knowledgebasearticle/1009275

    it indicated it was a damaged component of Microsoft.NET Framework 2.0    

    It suggested going thru add/remove programs to delete Microsoft .net framework 2.0–which of course didn’t work.  we also tried restoring to an older date, and that didn’t work (3 attempts).   In looking on line there were lots of complicated ways to try.  

    One  computer "expert" suggested wiping the harddrive and restoring everything from start(way over my head) and another said the server computer and laptop may not have the same level of Microsoft Net, which was the case.   The laptop had 2.5, the main server had 3.0–however another computer was working fine with the 2.5 framework and attaching to quickbooks without a problem.

    We tried loading Framework 3.0 onto the laptop, and that wouldn’t work either, however it did work on the 2nd computer.

    However, I found a way to fix our situation without alot of trouble—maybe it will work for some of you.

    go to control panel, add/remove programs.  

    Click on Microsoft Framework Net 2.0

    DO NOT do the change/remove button

    there is a place to click that says:

    "click here for support"   click on that button

    you then get an option of support or products update link.  click on the products update link

    which brings you to the MSDN page.  

    http://msdn2.microsoft.com/en-us/vstudio/default.aspx

     a microsoft silverlight install screen will come up—i just closed that screen

    then scan down that page and there is an option to download Microsoft Framework Net 3.5

    hit download, then save.

    We were then able to again open quickbooks on the laptop, and have since added this 3.5 to all our computers, and so far all is working well.  

    Good Luck, I hope this saves some of you time, and works.

    JW

  8. Since the .NET Framework 2.0 SP1 and 3.0 SP1 shipped (as prerequisites for the .NET Framework 3.5 and

  9. Since the .NET Framework 2.0 SP1 and 3.0 SP1 shipped (as prerequisites for the .NET Framework 3.5 and

  10. dlpirl says:

    Following the procedure ‘To create an administrative install point for the .NET Framework 2.0 SP1 x86:’ I found that the administrative install MSI would not run with the switches given, or any switches for that matter. I got the message that I had to run setup.exe.  The only way I found around this was to edit the MSI using Wise Windows Installer Editor and remove the Custom Action "*BlockDirectInstall*".

    Then it worked fine and I should be able to deploy via Active Directory Software installation which is my goal.

  11. Hi Dlpirl – The VSEXTUI=1 parameter should bypass this custom action that blocked you in this scenario.  Are you sure you passed that in when you tried to deploy your 2.0 SP1 MSI using msiexec.exe?

    You should not need to go into the MSI and manually remove custom actions to make this work, and I do not recommend modifying the MSIs that have been shipped by Microsoft in this way.

  12. dlpirl says:

    Ah! I was putting a ‘/’ in front of the VSEXTUI=1 parameter, and it doesn’t want one.  It runs fine as you say.

  13. dlpirl says:

    and… it works fine deployed via Active Directory software installation GPO. As know, only MSI can be used for AD installs, but it is not possible to use any switches.  Yet NET Framework 2.0 SP1 appears to have installed fine on my W2K test workstation.  

    Thanks for the great work!

  14. Hi Dlpirl – I’m glad that you were able to get this working.  Let me know if you run into any additional issues in the future.

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

  16. Project84 says:

    Unattended Installation for the .NET Framework 3.5

  17. Project84 says:

    Unattended Installation for the .NET Framework 3.5

  18. amuro says:

    Nice guide, thanks

    I created a simple .bat file with:

    "msiexec.exe /i c:netfx20sp1ia64AIPnetfx20a_ia64.msi /l*v %temp%netfx20sp1ia64log.txt /qb VSEXTUI = 1"

    and locally it works. But if I try to execute .bat from GPO Startup script replacing local path with network path, it doesn't work.

    Why ?!

  19. Hi Amuro – Do you have a verbose log file from the scenario where this is failing?  If so, can you please zip it, post it to a file server (such as http://skydrive.live.com) and reply back here and provide a link I can use to download it and take a further look?

  20. amuro says:

    Thanks for your reply

    Here log file : http://www.box.net/…/bsoxcedkar

  21. Hi Amuro – Your log file shows a 1619 error.  That means that Windows Installer is unable to open the database (see msdn.microsoft.com/…/aa368542.aspx for more details about these error codes).

    The location it is trying to open the database from is \vanadiumscToolsFramework_2.0_SP1netfx20a_x86.msi.  Does that file exist at that location, and do the machine you're deploying to and the user account that the deployment is happening for have access to that location?

  22. amuro says:

    The network location is correct. That I do not understand is that if I'm logged with the user and launch the installation from the network location

    "msiexec.exe /i \vanadiumscToolsFramework_2.0_SP1netfx20a_x86.msi /l*v C:netfx20sp1netfx20sp1x86log.txt /qb VSEXTUI=1"

    everything is ok. but if I run the command from Policy (Computer Configuration, Policy, Windows Settings, Startup Script) gives me that error

  23. Hi Amuro – I'm not sure what would cause that type of error.  Do you see similar behavior when you try to deploy other (non-.NET Framework) MSIs in the same way?

  24. Greg Ionescu says:

    Many thanks Aaron, Excellent article, extremely useful information, it helped when repairing a corrupted DotNet installation,