Uninstalling the 64-bit .NET Framework 2.0 can break the .NET Framework 1.1

Back when the .NET Framework 1.1 originally shipped, only a 32-bit version was released.  In addition, the MSI contains a launch condition that specifically blocks the .NET Framework 1.1 from being allowed to install on 64-bit operating systems.

Since then, 64-bit systems have become much more mainstream, and some folks on the Windows team worked with some folks on the .NET Framework team to add a shim to newer 64-bit operating systems that allows users to bypass that launch condition and install the .NET Framework 1.1.

However, since the .NET Framework 1.1 was not originally designed to install on 64-bit operating systems and co-exist with newer versions of the .NET Framework (such as 2.0) that are designed for 64-bit operating systems, some .NET Framework side-by-side uninstall scenarios ended up not working exactly correctly.

In particular, the following scenario has proven problematic on a 64-bit operating system:

  1. Install the .NET Framework 1.1
  2. Install the .NET Framework 2.0
  3. Uninstall the .NET Framework 2.0

When uninstalling the .NET Framework 2.0 in this type of scenario, some registry entries will be removed out from under the .NET Framework 1.1 and cause it to not function correctly.  You must repair the .NET Framework 1.1 after uninstalling the .NET Framework 2.0 in order to restore the necessary registry values.

There are instructions for repairing the .NET Framework 1.1 in the file %windir%\Microsoft.NET\Framework\v1.1.4322\1033\repairRedist.htm on a system that has the .NET Framework 1.1 installed.  To summarize those instructions, you will need to do the following:

  1. Re-download the .NET Framework 1.1 setup package (dotnetfx.exe)
  2. Click on the Start menu, choose Run, type cmd and click OK
  3. Run this command:  <full path to dotnetfx.exe> /t:%temp% /c:"msiexec.exe /fvecms %temp%\netfx.msi"