none
Automatically starting installer setup.exe in Compatibility Mode 'Windows XP SP2' RRS feed

  • Question

  • I have a installer that works correctly when running in 'Windows XP SP2 mode' (right click setup.exe, click properties, in Compatibility tab select 'Windows XP SP2'; re: http://windowshelp.microsoft.com/Windows/en-US/Help/bf416877-c83f-4476-a3da-8ec98dcf5f101033.mspx), but will not work correctly otherwise. 

    Is there a way for me to tell the Vista OS to start my setup.exe in that mode without the user's intervention, so that the user does not have to set that setting themselves?  I'm trying to avoid having the user do extra steps such as running the Application Compatibility Wizard, or manually changing the settings on the setup.exe file etc. 

    Is it possible to create an installer that will startup my original installer in that mode (ie. a wrapper installer)?


    TIA,
    Scott
    Wednesday, December 6, 2006 4:22 PM

Answers

  • You can create a key in HKLM\Software\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\Layers with key name = full path of the exe and string value = WINXPSP2.

    How are you deploying this? If this is an enterprise deployment, it's better to create a custom shim database applying this fix to this exe and deploy it using sdbinst.exe. If it's going to be fixed by arbitrary users, then the former could get it going. Of course, the best answer is to fix the app.

    Thursday, December 7, 2006 10:34 PM

All replies

  • You can create a key in HKLM\Software\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\Layers with key name = full path of the exe and string value = WINXPSP2.

    How are you deploying this? If this is an enterprise deployment, it's better to create a custom shim database applying this fix to this exe and deploy it using sdbinst.exe. If it's going to be fixed by arbitrary users, then the former could get it going. Of course, the best answer is to fix the app.

    Thursday, December 7, 2006 10:34 PM
  • I have a similar app. This solution does not work for me. Here's the registry entry that I created prior to launching my app...

    HKLM\Software\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\Layers

    D:\Resource\MyApp.exe   REG_SZ   WINXPSP2 RUNASADMIN


    D: is the DVD drive on my system. If I manually set the compatibility mode to WINXPSP2 RUNASADMIN by checking the appropriate check boxes in the file properties interface, the following registry entry appears and my install works flawlessly.

    HKCU\Software\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\Layers

    SIGN=28E0E6F Resource\MyApp.exe   REG_SZ   WINXPSP2 RUNASADMIN


    If I copy the exe from the removable media to the hard drive and add the following to the registry...

    HKCU\Software\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\Layers

    C:\Resource\MyApp.exe   REG_SZ   WINXPSP2 RUNASADMIN


    the install again works flawlessly as if I set the options manually.

    Please note the difference in entry locations (Current User / Local Machine) Any help with this will be greatly appreciated - Thanks

    Thursday, January 18, 2007 11:35 PM
  • Wednesday, November 9, 2011 10:24 AM
  • I know this is a really old topic, but after spending an hour searching the internet, all I have found is this entry which explains the *exact* same issue I'm having.

    When attempting to identify an executable on a CD that I want to run in compatibility mode, the registry key that Windows 7 creates includes the "SIGN" flag which appears to have a unique value for each CD. That's a problem when the same application exists on different CDs, I can't create a registry key for every CD the application exists on.

    Is there a way to use some sort of wild card with "SIGN" so that it doesn't matter which CD it's on?

    Thursday, December 5, 2013 2:43 PM