Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why can I not install ASPNET MVC2 from the Web Platform Installer? (Error: "requires VS2008 SP1", but SP1 is installed!)

I went to http://www.asp.net/mvc/ to try to install ASP.NET MVC.
I didn't know, but MVC is now at version 2.

There's a nifty thing called the Microsoft "Web Platform Installer" (WPI) which basically is a small installer-driver tool that presents a menu of things I might want to install, to do web things on Windows. On the menu are things like ASPNET MVC2, but also Drupal, PHP, Joomla, and a bunch of other things.

From http://www.asp.net/mvc/, when I click on the link that says "Install MVC", it resolves to http://go.microsoft.com/fwlink/?LinkID=185037, which then pops up the WPI.

But Then! I get an error dialog that reads "Installing ASPNET MVC2 requires VS2008 SP1".

But I know that I have VS2008 SP1.

What gives?

like image 614
Cheeso Avatar asked Mar 16 '10 01:03

Cheeso


2 Answers

I looked around and found suggestions [1, 2] to manually modify the registry, specifically

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\9.0\IDE\1033

to set values SP, SPIndex and SPName to 0, 0, and "SP1", respectively, to allow the check for SP1 to succeed.

But I didn't like that answer. I'm sure I have VS2008 SP1 installed; something isn't quite right. Modifying the registry like that is likely to result in an unsupported configuration, and future patches might not work, etc. It's a bad idea.

I looked further and found a suggestion to uninstall the VS2008 Integrated Shell. I did that, and then was able to install ASPNET MVC2 via the Web Platform Installer. I think the shell was installed with the VS 2008 SDK.

Apparently the MVC2 installer looks to see if there are any VS products installed that are not updated to SP1, and refuses to install if any are found. VS Integrated Shell is one of those things. Though it was installed prior to me installing VS2008 SP1, the integrated shell did not get upgraded to SP1 - at least not according to the registry settings associated to the integrated shell. Removing the integrated shell allows the MVC2 install to proceed. For those who are happy to do so, Editing the registry directly, without uninstalling the integrated shell, also allows install of MVC2 to succeed.

Maybe this will help someone else.

like image 141
Cheeso Avatar answered Sep 17 '22 12:09

Cheeso


I was able to install with the WPI, so you might want to open up VS08 and check the version number is "9.x.xxxxx.x SP" just to be 100% sure.

In the mean time, unless there's a particular reason you need to install with WPI, you can still directly download the executable and try that. It's available here: http://go.microsoft.com/fwlink/?LinkID=157074

like image 27
PatrickJ Avatar answered Sep 20 '22 12:09

PatrickJ