Microsoft .NET Framework 2.0 Service Pack 1, and How to Detect It

No doubt you’ve heard the Microsoft .NET Framework 3.5 was released. Aaron Stebner has posted a list of links to 3.5, as well as 2.0 Service Pack 1 (SP1) and 3.0 SP1. It’s important to note that if you install 3.5 you’re actually getting 2.0 SP1 and 3.0 SP1 both.

The .NET Framework 3.5 consists of the following:

  • Microsoft .NET Framework 2.0 Service Pack 1, which runs on the 2.0 version of the Common Language Runtime (CLR)
  • Microsoft .NET Framework 3.0 Service Pack 1, which runs on the 2.0 version of the CLR and adds Windows CardSpace, the Windows Communication Foundation (WCF), the Windows Presentation Foundation (WPF), and the Windows Workflow Foundation (WF)
  • Microsoft .NET Framework 3.5, which runs on the 2.0 version of the CLR and adds support for LINQ and lots of other new classes

While 2.0 SP1 and 3.0 SP1 are actually full major upgrades that will replace older versions if installed, they update the SP detection keys as documented previously. The registry detection keys we introduced in .NET Framework 3.0 and Visual Studio 2005 will not work for 2.0 SP1 and 3.0 SP1, unfortunately, until at least one patch is installed that will add them in. If you’re using the NetFxExtension with WiX, however, to add the AppSearch property NETFRAMEWORK20_SP_LEVEL or NETFRAMEWORK30_SP_LEVEL you’ll be fine. These use the older detection keys that will continue to work as documented.