0

If my application requires .NET 2.0 SP2, how do I install this app on Vista? The .NET 2.0 SP2 redistributable will not install on Vista.

CJ7
  • 22,579
  • 65
  • 193
  • 321
  • What do you mean .Net SP2? SP2 implies a service pack number but you haven't stated a framework version. For example .Net 2.0 SP2 is a valid framework. – Leon Newswanger Jan 31 '13 at 20:21
  • I meant .NET 2.0 SP2. See my edits. – CJ7 Jan 31 '13 at 20:22
  • How exactly does your application _require_ .Net 2? Later releases should also be able to run applications built in 2. – Leon Newswanger Jan 31 '13 at 20:25
  • This is completely unrelated to the actual question but seeing as SO doesn't allow private messages and you don't have any contact info in your profile I'll just put this here. I was somewhat rude to you today and I feel I owe you an apology. The FAQ does clearly state that a good answer is one that provides references and explanations of answers. So I apology for my rather harsh treatment. Bring on the downvotes for this not being the proper place to put this. – Leon Newswanger Feb 01 '13 at 01:10
  • @Leon- Realizing that .NET 2.0/3.0/3.5 is a layer cake with a common CLR and different sets of base class libaries, I have witnessed scenarios where there were updates to the 2.0 libraries that were newer then the updates in the 3.5 wrapper and that an app wouldn't work without them. This was very obsecure / edge case but it can and does happen. I've also seen breaking changes where a .NET 1.1 app broke on .NET 2.0. High level generalizations are fine but at the end of the day you have to really know your dependencies when creating installers. – Christopher Painter Feb 01 '13 at 03:33
  • @ChristopherPainter I agree than it can happen. Which is why I asked how it requires 2.0. In most cases that isn't an issue and without knowing more details of the application in question it's impossible to say if these edge conditions exist. – Leon Newswanger Feb 01 '13 at 03:38
  • @ChristopherPainter Also, applications going from .Net 1.1 to .Net two breaking are a lot more likely that going from 2.0 to 3.5 because of the changes in CLR, and I fail to see how .Net 1.1 is relevant to the question being asked. – Leon Newswanger Feb 01 '13 at 06:21

3 Answers3

3

You should install .Net 3.5 SP1, which includes 2.0 SP2.

SLaks
  • 868,454
  • 176
  • 1,908
  • 1,964
  • Have you got a ref for this? – CJ7 Jan 31 '13 at 20:58
  • @CJ7 [Download 3.5 SP1 Here](http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe) and see [Microsoft Download Center](http://www.microsoft.com/en-us/download/details.aspx?id=22) for information about the package. Note that the download link I've placed here downloads the full package and not just the boot strapper that the download link at the top of the page provides. – Leon Newswanger Jan 31 '13 at 21:42
  • @LeonNewswanger: the link you provided does not say that 3.5 SP1 includes 2.0 SP2. – CJ7 Jan 31 '13 at 21:54
  • If you are up to date on your service packs and windows updates, you'll also have 2.0 SP2 via Vista SP2. – Christopher Painter Feb 01 '13 at 03:35
0

.Net versions 2.0, 3.0, and 3.5 are all built on top of the 2.0 CLR, and each release was built on top of the previous. So effectively, each release was an extension of the previous release. MSDN provides a much more in depth explanation of this. So in your case .Net 3.5 should allow for you to run any application compiled in 2.0. Unfortunately, I haven't been able to find a way to install 2.0 specifically on Vista, and the general consensus is that the best method is to install .Net 3.5.

Edit: .Net 3.0 should also allow you to run your application (not sure of the compatibility with Vista) but the general recommendation, as well as my own, is to just go straight to 3.5.

Leon Newswanger
  • 617
  • 1
  • 5
  • 17
  • @ChristopherPainter The link I provided to MSDN includes information about which version of .Net was built into which versions on Windows and which versions you can install. I didn't delve deeper into this because the question was geared more towards "What do I need to do to run my program" than it was "Why can't I install 2.0" so I feel that my answer was an adequate explanation. – Leon Newswanger Feb 01 '13 at 03:36
0

You might want to look at:

Which Version of .NET is Built into Windows?

For Windows Vista, you can't use the redist installer because .NET is included as a windows system component just like .NET 1.1 was included in Server 2003.

Vista RTM comes with .NET 2.0. Vista SP1 comes with the .NET 2.0 SP1 and Vista SP2 comes with .NET 2.0 SP2.

So, if the goal is to have the latest patched 2.0 and 3.0 frameworks, applying service packs is your mechanism. Those are not redistributable though so your application installer should only be checking and gating if not present.

Or you can install .NET 3.5 SP1. 3.5 SP1 gets around all of this by being a massive multiplatform bootstrapper that applies .MSU (Windows Update Packages) that are equivilant to whats in SP1 and SP2.

Christopher Painter
  • 54,556
  • 6
  • 63
  • 100