How to get around the MSI 3.0 block in .NET Framework 2.0 Beta 2 setup

<updated on June 6, 2005 - reworded one of the caveats and moved it to be caveat #1 based on the comment from HeathS about the requirement that Windows Installer 3.x be present in order to install .NET Framework 2.0 hotfixes or service packs>

Some of you may have noticed that .NET Framework 2.0 beta 2 requires a minimum version of Windows Installer 3.0 and if it is not installed on the computer, you will have to download it and install it as a separate step. This is a change from .NET Framework 2.0 beta 1, which required a minimum version of Windows Installer 2.0 and carried the installation packages for Windows Installer 2.0 as part of the dotnetfx.exe package.

The increased minimum requirement from Windows Installer 2.0 to Windows Installer 3.0 (and possibly to 3.1 by the time .NET Framework 2.0 ships) is due to a lot of servicing/patching fixes available in Windows Installer 3.x. Since there aren't any strict setup-time requirements for Windows Installer 3.0 in the .NET Framework setup, you can use some unsupported reverse engineering tricks to make .NET Framework 2.0 beta 2 setup work if you only have Windows Installer 2.0 installed.

Before I list the steps I want to list a couple of important caveats:

  1. You will not be able to install any hotfixes or service packs for .NET Framework 2.0 if you use this method and install with only Windows Installer 2.0 present on your machine. Therefor, this should only be used for testing purposes in case you have some dire need to unblock a single machine from getting the .NET Framework 2.0 installed that you plan to reimage after you are done testing. In production scenarios, you really should install Windows Installer 3.1 because of the greatly improved product patching that it supports (described as part of this article).
  2. The .NET Framework 2.0 setup does have a technical requirement that the computer have at least Windows Installer 2.0, so please don't try to use this technique to unblock installation on a machine with Windows Installer 1.x installed

With that out of the way, here are the steps you can use to get .NET Framework 2.0 beta 2 to install on a machine with only Windows Installer 2.0 present:

  1. Download the .NET Framework 2.0 beta 2 setup and save the file dotnetfx.exe to your local hard drive
  2. Open a cmd prompt and run the following command to extract the contents of dotnetfx.exe: dotnetfx.exe /t:"c:\temp" /c (or you can substitute any folder name for "c:\temp" in this command line)
  3. Go to the folder c:\temp and open the file install.ini in a text editor such as notepad.exe
  4. Find the [DetectDarwin] section in install.ini. This section controls which version of Windows Installer setup will look for. You can modify the value from the default 3.0 to 2.0 for each of the processor types (x86, i64 and a64)
  5. Save and close install.ini
  6. Run install.exe from the folder c:\temp to start .NET Framework setup

Note that if you want to use these steps for one of the 64-bit versions of .NET Framework 2.0, you should substitute "netfx64.exe" for every instance of "dotnetfx.exe" above.