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 3.0 SP2

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

  • Comments 3

A while back, I posted some instructions that can be used to create an administrative install point for the .NET Framework 3.0 SP1.  Since then, the .NET Framework 3.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 3.0 SP2 for each of the supported processor architectures.

Please keep in mind that there are several prerequisites that must be installed prior to attempting to deploy the .NET Framework 3.0 SP2 from an administrative install point.  These include the .NET Framework 2.0 SP2, MSXML 6.0, the RGB Rasterizer, the Windows Imaging Component (WIC) and the XML Paper Specification (XPS) shared components.  The .NET Framework 2.0 SP2 can be deployed using the steps in this previous blog post, and the other prerequisites can be deployed using the previously documented steps in the .NET Framework 3.0 deployment guide and the .NET Framework 3.5 deployment guide.

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

  1. Download the .NET Framework 3.5 SP1 full package from http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe and save it to your local hard drive
  2. Extract the contents of the setup package by running this command:
    dotnetfx35.exe /x:c:\netfx35
  3. Stage the base MSI by running this command:
    msiexec /a "c:\netfx35\wcu\dotnetframework\dotnetfx30\netfx30a_x86.msi" TARGETDIR="c:\netfx30sp2\x86\AIP"
  4. Apply the patches to the staged base MSI by running this command:
    msiexec /a "c:\netfx30sp2\x86\AIP\netfx30a_x86.msi" PATCH="c:\netfx35\wcu\dotnetframework\dotnetfx30\WCF.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WCS.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WF.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WPF1.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WPF2.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WPF_Other.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\XPS.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WF_32.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WPF2_32.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WPF_Other_32.msp"

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

msiexec.exe /i c:\netfx30sp2\x86\AIP\netfx30a_x86.msi /l*v %temp%\netfx30sp2x86log.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 3.0 SP2 x64:

  1. Download the .NET Framework 3.5 SP1 full package from http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe and save it to your local hard drive
  2. Extract the contents of the setup package by running this command:
    dotnetfx35.exe /x:c:\netfx35
  3. Stage the base MSI by running this command:
    msiexec /a "c:\netfx35\wcu\dotnetframework\dotnetfx30\netfx30a_x64.msi" TARGETDIR="c:\netfx30sp2\x64\AIP"
  4. Apply the patches to the staged base MSI by running this command:
    msiexec /a "c:\netfx30sp2\x64\AIP\netfx30a_x64.msi" PATCH="c:\netfx35\wcu\dotnetframework\dotnetfx30\WCF.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WCS.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WF.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WPF1.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WPF2.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WPF_Other.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\XPS.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WCF_64.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WCS_64.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WF_64.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WPF1_64.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WPF2_64.msp;c:\netfx35\wcu\dotnetframework\dotnetfx30\WPF_Other_64.msp"

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

msiexec.exe /i c:\netfx30sp2\x64\AIP\netfx30a_x64.msi /l*v %temp%\netfx30sp2x64log.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.

  • Hello Aaron,

    Not sure if this is where I ask this, if not possibly

    you can point me in the right direction.

    In regards to .NET Framework, is it necessary to have all of the versions installed on ones system or just the most recent?

    Is it OK to un-install the previous versions,

    keeping only the most recent?

    Please reply,

    Thank You

    Brian Lawrence

  • Hi Bmlawr - All of the versions of the .NET Framework that update the underlying common language runtime (CLR) are designed to co-exist side-by-side on the same system.  These are versions v1.0, v1.1 and v2.0.  You can install and uninstall those in any order and should not see any issues.

    The .NET Framework 3.5 is essentially an add-on that introduces new features to the .NET Framework 2.0 and 3.0 products but continues to run on the version of the common language runtime (CLR) that shipped in the .NET Framework 2.0.  This is similar to the model introduced in the .NET Framework 3.0, which is essentially an add-on for the .NET Framework 2.0 but did not introduce a new version of the CLR.  As a result of this add-on model, the .NET Framework 3.0 setup requires the .NET Framework 2.0 as a prerequisite, and the .NET Framework 3.5 requires both the .NET Framework 2.0 with SP1 and the .NET Framework 3.0 with SP1 as prerequisites.  This is sometimes called a "nesting doll" model for creating a product.

    Because 3.0 requires 2.0, you will be blocked from uninstalling 2.0 on a system that has 3.0 installed.  Similarly, because 3.5 requires 2.0 with SP1 and 3.0 with SP1, you will be blocked from uninstalling 2.0 with SP1 and 3.0 with SP1 on a system that has 3.5 installed.  In addition, because 3.5 SP1 requires 2.0 with SP2 and 3.0 with SP2, you will be blocked from uninstalling 2.0 with SP2 and 3.0 with SP2 on a system that has 3.5 SP1 installed.

    Most products will use the latest version of the .NET Framework that is on the system, but some products will require an exact version of the .NET Framework, which means they won't work if you uninstall that version.  If you choose to uninstall any older versions of the .NET Framework (such as 1.1) on your system, that will probably be fine.  If you see any error messages later when trying to use a program that specifically requires the .NET Framework 1.1, you can always install it back later on.

  • Thank you Aaron for your quick reply.

    This is exactly what I needed to know about .NET Framework

    Brian

Page 1 of 1 (3 items)
Leave a Comment
  • Please add 6 and 5 and type the answer here:
  • Post