How to create an installable layout for the final release of the .NET Framework 3.5


Back when the .NET Framework 3.5 beta 2 was released, I posted this item on my blog describing how to download the individual pieces of the .NET Framework 3.5 beta 2 in order to create an installable layout that can be used to create an installer that includes the .NET Framework 3.5 or for network deployment.  If you have looked at those instructions, you’ll notice how long, tedious and potentially error-prone they are.

Fortunately, as Bret Grinslade noted in this blog post, in the final release of the .NET Framework 3.5, a new package is available for download that includes all of the pieces of the .NET Framework 3.5 so that you no longer need to download the pieces individually in order to assemble an installable layout.

The combined installation package for the .NET Framework is available for download at http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe.

After downloading this package, you can extract the contents by running dotnetfx35.exe /x and it will prompt you with a location to extract the contents to.  From there, you can trim down the installer payload if appropriate in your deployment scenario in the following ways:

  • If you do not plan to support installing on Windows Vista at all or plan to require Windows Vista SP1 in your scenarios (which will include the .NET Framework 2.0 SP1 and 3.0 SP1 so they do not have to be installed separately), you can remove the MSU files in the dotNetMSP folder
  • If you only plan to support installing on Windows Vista or later, you can remove the dotNetFX20 and dotNetFX30 folders.  These folders contain the .NET Framework 2.0 SP1 and .NET Framework 3.0 SP1 packages that are used on Windows XP and Windows Server 2003
  • If you plan to only support specific processor architecture(s), you can remove the appropriate payload for the processor architectures you do not plan to support (ia64, x64 or x86)

Now you can run dotnetfx35setup.exe from the extracted folder to start installing the .NET Framework 3.5.

One important note – if you decide to optimize your installer payload using any of the suggestions above, and it turns out that you over-optimized and setup really does need one of the packages that you deleted from the extracted folder, then .NET Framework 3.5 setup will attempt to automatically download the package for you if you have a live Internet connection during setup.  If it needs to download a package and the system does not have a live Internet connection, then .NET Framework 3.5 setup will fail to install.

Comments (27)

  1. Martin Bohring says:

    Hello Aaaron,

    that is nice to know.

    But what I am missing is a complete download for .NET 3.0 SP1.

    We are using .NET 3.0 on XPE (Embedded Systems without Internet connection ) In order to service those systems a download file is needed.

    Do you if this is planned ?

  2. anony.muos says:

    One thing I would like to suggest to MS is to keep IA64 out of these installers. x64 is much much more common and even home users today have an x64 processor. But IA64 is a special rare architecture that is much much less in use. Why increase size, bloat and footprint by bundling IA64 everywhere? Even for Visual Studio 2005 and 2008, I noticed that although I’d unselected the IA64 files in setup, it installed the IA64 debug symbols and some more IA64 components (Crystal reports IA64 setup etc) which I’ll never ever touch.

  3. Hi Martin – I’m not sure if this is planned or not.  In the meantime, you can extract the 3.0 SP1 bits out of the 3.5 package.  I will also create a blog post soon that describes how to assemble a 3.0 SP1 package using the standalone web download bootstrapper located at http://www.microsoft.com/downloads/details.aspx?FamilyId=EC2CA85D-B255-4425-9E65-1E88A0BDB72A.

  4. Hi Someone – This combined installer for the .NET Framework 3.5 was not designed to optimize for size.  The web download bootstrapper located at http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6 will install only the components needed on the system it is run on.

  5. The .NET Framework 3.5 is packaged as a core package that includes language-neutral binaries and English

  6. The .NET Framework 3.5 is packaged as a core package that includes language-neutral binaries and English

  7. anony.muos says:

    Yes but that web download bootstrapper isn’t exactly helpful for deployment purposes when you don’t have always on internet connections.

  8. Hi Someone – Yes, that is correct.  The web download bootstrapper may require Internet connectivity.  If you are looking to minimize the size of the .NET Framework 3.5 setup package and also not require Internet connectivity, then you can use some of the suggestions that I listed above in the main text of this blog post (such as not carrying the ia64/x64 payload, not carrying Windows Vista payload, not carrying downlevel OS payload, etc)

  9. A couple of weeks ago, I posted some notes about creating an installable layout for the .NET Framework

  10. A couple of weeks ago, I posted some notes about creating an installable layout for the .NET Framework

  11. Question: When the .NET Framework 3.0 shipped, 3 packages were made available for download – a 2.8 megabyte

  12. Question: When the .NET Framework 3.0 shipped, 3 packages were made available for download – a 2.8 megabyte

  13. A little while ago, I posted this item on my blog that describes a potential issue when installing the

  14. A little while ago, I posted this item on my blog that describes a potential issue when installing the

  15. Graham says:

    Is it possible to generate a log from dotnetfx35setup.exe? tried /l*v <log file> no joy.  Any suggestions?

  16. Hi GHardie – As I described in the blog post at http://blogs.msdn.com/astebner/archive/2008/02/27/7927123.aspx, the .NET Framework 3.5 setup creates its own set of verbose logs by default, so there is no need to pass any additional logging switches or set any of the standard Windows Installer logging policies.

    You should be able to find the logs from this setup by using the list at http://blogs.msdn.com/astebner/archive/2007/07/31/4156781.aspx.

    Hopefully this helps.

  17. The setup program for the .NET Framework 3.5 and the Visual Studio 2008 Express Editions contains logic

  18. There&#39;s been some confusion about the size of the .NET Framework. The .NET Framework is not really

  19. ASPInsiders says:

    There’s been some confusion about the size of the .NET Framework. The .NET Framework is not really a

  20. Jim Lutz says:

    This is broken in Windows 10, anyway. I downloaded the updated dotnetfx35.exe (238 MB) and used the /x argument from the command line, and it still tried to download anyway. So then I downloaded the file from this page with the same result. My downloads from Windows Update are failing; that’s why I need an offline installer.