Cannot install .NET Framework 1.0 service packs if .NET Framework 4 or 4.5 is installed

There are some known compatibility issues between .NET Framework 4 and 4.5 setup and .NET Framework 1.0 setup.  As a result, installing the .NET Framework 4 or 4.5 will set a registry key that prevents .NET Framework 1.0 setup from running afterwards.  That means that if you need to install both the .NET Framework 1.0 and 4 or 4.5 on the same computer, you need to install the .NET Framework 1.0 first, then install the .NET Framework 4 or 4.5.

I ran into a similar issue recently that I want to highlight as well because I didn’t find any official documentation about this behavior.  The registry key set by .NET Framework 4 and 4.5 setup will also prevent .NET Framework 1.0 service packs from running afterwards, even if you already have the .NET Framework 1.0 installed.  That means that if you need to install any .NET Framework 1.0 service packs and you have the .NET Framework 4 or 4.5 installed, you will need to do the following:

  1. Uninstall the .NET Framework 4 or 4.5
  2. Install the .NET Framework 1.0 service pack
  3. Re-install the .NET Framework 4 or 4.5

Behind the scenes, .NET Framework 1.0 setup includes a block that is implemented as a Type 19 custom action.  This custom action is sequenced so that it runs during initial install and repair.  Installing a service pack does the equivalent of a repair, which is why the block is triggered during service pack installation too.