Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question

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.

share|improve this answer
+1 for the very insightful answer. Are there any 1.x applications still out there? – alex Sep 10 '09 at 7:47
Yeah there is. We still maintain 1 or 2 but they are jumping quickly. – BinaryMisfit Sep 10 '09 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 '09 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. – BinaryMisfit Sep 10 '09 at 12:13

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.

share|improve this answer
-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 – BinaryMisfit Sep 10 '09 at 8:53
+1 for your explanation. -1 for uninstalling the 1.x runtime that apps might still be using. – Alex Angas Sep 10 '09 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. – Christopher_G_Lewis Sep 10 '09 at 12:51

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.

share|improve this answer
Completely incorrect. The Framework is cummalative except for 1.x applications – BinaryMisfit Sep 10 '09 at 8:52
This is so wrong. I don't know how it got upvoted in the first place. – R. Martinho Fernandes Sep 10 '09 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 '09 at 10:18

You must log in to answer this question.