What to do if VS 2008 or .NET Framework 3.5 beta 2 asks for Windows XP SP2 on Windows Vista

I previously posted a description of a bug in VS 2008 beta 1 and .NET Framework 3.5 beta 1 setup that can cause setup to prompt you to install Windows XP SP2 when running setup on Windows Vista.  That post includes a couple of workarounds that can be used to remove the setting that Windows Vista stores that controls whether or not to run a program in Windows XP compatibility mode.

Why does this problem still happen in beta 2?

The underlying problem that caused this type of error to appear was that the beta 1 setup packages did not include embedded UAC manifests, which caused Windows Vista to treat them as legacy applications.  The beta 2 setup packages now include the proper UAC manifests, so in most cases, this Windows XP SP2 prompt should no longer appear.

However, in cases where beta 1 setup previously failed on the same system, the registry setting could still exist and that may cause beta 2 setup to continue to run in Windows XP compatibility mode.

Workaround option 1 - manually clear application compatibility settings

If you see this type of error when running VS 2008 or .NET Framework 3.5 beta 2 setup, the first step I suggest is to try the workarounds listed at the bottom of this previous blog post (either changing the compatibility settings by right-clicking on the setup EXE and choosing the Compatibility tab, or manually removing entries from the registry).

Workaround option 2 - use the Program Compatibility Assistant

In a few cases I have seen, those workarounds did not cause the Windows XP SP2 error dialog to stop appearing on Windows Vista.  If none of those other workarounds allow you to get past this issue, it may help to run the setup directly from within the Program Compatibility Assistant by using steps like the following:

  1. Click on the Start menu and choose Control Panel
  2. Select Control Panel Home view if you are currently using Classic View
  3. Click on the item named Programs
  4. Under Programs and Features, select Use an older program with this version of Windows – this will launch the Program Compatibility Wizard
  5. In the wizard, click Next on the first screen
  6. Choose I want to locate the program manually on the 2nd screen
  7. Browse to the path of the VS 2008 or .NET Framework 3.5 setup program that you want to install and click Next
  8. Select Do not apply a compatibility mode and click Next
  9. Do not select any display settings and click Next
  10. Do not check the Run this program as an administrator check box and click Next
  11. Click Next on the confirmation page to test these settings
  12. If setup launches and displays the welcome page instead of the Windows XP SP2 error dialog, choose Yes, set this program to always use these compatibility settings and click Next
  13. Optionally send the information from the Program Compatibility Wizard to Microsoft