Visual Studio install asking for XP SP2 on Vista - the solution

 A while back I blogged about a problem I had installing Visual Studio 2005 on a fresh Vista install - it complained about requiring Windows XP SP2. I never found a satisfactory explanation, but copying the DVD contents to the hard drive worked around the problem. The stock suggestion was to check the Compatibility settings on the property page for setup.exe -  but in my case no compatibility mode was set. Or was it?

Recently I tried installing Visual Studio 2008, and got the same error. Following a suggestion from the MSDN forums, I checked the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers. Lo and behold, it contained an entry for %tempdir%\setup.exe. But I'm not running setup.exe from the temp dir, I'm running it from the DVD, so that entry shouldn't affect anything, right? Wrong. When you run the installer from the DVD, it appears to copy itself to the the temp dir and run itself from there. At that point, the compatibility flag is in effect.

Where did the registry setting come from in the first place? I have no idea. But removing it allows the Visual Studio install to proceed.

 

11 Comments

  • Can't you use the /NO_BSLN_CHECK command line parameter with setup.exe to do this?

  • Mike,
    Maybe, I didn't try that. But it sounds like that would skip installing all the prereqs (like .NET 3.5), which means I'd have to install all that stuff myself.

  • wow this worked for me also thanks a ton i spent like 3 days messing with this for hours each night.

    I went to ....
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.

    there was a file that said something about XpSP2 or something i deleted it and now its installing =)

  • Same problem... and resolved with your help.

    Thanks a lot.

  • Microsoft did a horrible job testing this beta release. It's more like alpha.

  • How do you go to HKey_local_yabbadie ya?

  • oh run and regedit.

  • I have been having this problem for several days. The registry location above did not contain a compatibility entry for SETUP.EXE. Tonight, it dawned on me that this key might also exist in the HKEY_CURRENT_USER hive. Sure enough, there was an entry for SETUP.EXE in HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.

    I deleted it and tried the install again and now it works.

  • Outstanding. Thanks for this information, worked like a charm.

  • This tip just saved my life, and the remainder of my hair as I was pulling it out trying to figure out why VS2008 cared whether or not I had XP SP2 on my Vista machine.

  • heh, Sep 2009 and people's bananas are still being saved by this excellent blog post. THANKS!!! And thanks to mpc too, since mine was in HKEY_CURRENT_USER and I am not enough of a registry dog to have thought of looking there. (Actually, I think this is the second time ever I have edited the registry on any windows machine...)

Comments have been disabled for this content.