1

Microsoft installed the following as updates to my XP Home machine:

  • Microsoft .NET Framework 2.0 Service Pack 2
  • Microsoft .NET Framework 3.0 Service Pack 2
  • Microsoft .NET Framework 3.5 SP1

Do I need to have all three of these installed or can I get rid of one or two?

3 Answers 3

5

You at any point in time only need the latest. Even if an application targets 2 and you only have 3.5 it will work as the Framework includes everything from the previous versions. The only exception to this rule is 1.x. From 2.x onwards it is cummalative.

Scot Hanselman wrote a lenghty article regarding this explaining it in detail.

Framework 3.0 and 3.5 are all still using 2.0 at the core, so parts of 2.0 will remain. In Vista and Windows 7 3.0 and 3.5 is natively installed and you can't installed just 2.0 by itself, as a case and point.

The Service Packs for all 3 will load even if I only have 3.5 loaded. You will also find you often can't uninstall the one if the dependancy is there on the others.

Framework 4.0 incorporates everything from 2.0 up and therefore once released with just 4.0 you can run everything except 1.x applications.

4
  • +1 for the very insightful answer. Are there any 1.x applications still out there?
    – alex
    Sep 10, 2009 at 7:47
  • Yeah there is. We still maintain 1 or 2 but they are jumping quickly. Sep 10, 2009 at 8:51
  • Fortunately, the fact that 3.5 includes all the bits from 2.0 saved us when installing the silly VMWare client, and it was asking for 2.0 SP1 which we couldn't find anywhere. We put in 3.5 and it worked beautifully.
    – user3463
    Sep 10, 2009 at 11:19
  • @Randolph - SP1 was incorporated into 3.5 however MS has since released the SP1 download for older machines running 2000 & XP who can't load 3.5. Sep 10, 2009 at 12:13
3

Microsoft's versioning for .net is a little screwy...

.Net 2.0 was originally released around the end of 2005.

.Net 3.0 was released around the end of 2006, but uses the CLR of .Net 2.0. .Net 3.0 adds Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) and Windows CardSpace (WCS).

.Net 3.5 was released the end of 2007, and also uses the .Net 2.0 CLR. .Net 3.5 and 3.5 SP1 add things like Linq, Ajax, Entity Framework etc.

Since 3.0 builds on 2.0 and 3.5 builds on 2.0 and 3.0, you can't uninstall 2.0 and 3.0 if you are trying to keeping 3.5. You could uninstall 3.5 and 3.0 and run just 2.0 SP 2, but you're probably going to hit something sooner or later that requires either 3.0 or 3.5.

If you have 1.0 or 1.1 installed, I'd definitely uninstall those first.

3
  • -1 2.0 does not include 1.0 or 1.1 and uninstalling it is a bad idea if there is applications depending on it. Althought you cannot install 1 in Vista or Windows 7 Sep 10, 2009 at 8:53
  • +1 for your explanation. -1 for uninstalling the 1.x runtime that apps might still be using.
    – Alex Angas
    Sep 10, 2009 at 9:35
  • Actually, because of how the CLR works, if you have a 1.0 or 1.1 app and run it on a machine with only 2.0 on it, it should work perfectly fine. There are some very minor breaking changes from 1.x to 2.0, but I personally have never found an app that hit those. We've successfully used this technique for massive numbers of ASP.Net web sites and shared assemblies where I work. Sep 10, 2009 at 12:51
1

You shouldn't remove them. Different versions are used by different software.

An application could be coded to use the version 2.0. If you have only the 3.5, you would have to reinstall the 2.0.

3
  • 2
    Completely incorrect. The Framework is cummalative except for 1.x applications Sep 10, 2009 at 8:52
  • This is so wrong. I don't know how it got upvoted in the first place. Sep 10, 2009 at 9:43
  • I've had issues when only the .Net framework 3.5 was installed on my PC. Installing separately the 2.0 made the application work. No idea about the 1.0 though, I admit.
    – Snark
    Sep 10, 2009 at 10:18

You must log in to answer this question.