1

Where are the Microsoft application compatibility update settings stored on a Windows XP, Windows Vista, and Windows 7 computer?

Microsoft periodically release application compatibility updates (e.g. KB929427), where they list the shims that should be applied to a program in order to workaround known bugs in the software. Where are these app compat flags stored, and how can i see what shims are being applied?

i have a feeling that a recent app compat update included a flag to force a particular piece of software, that we use, to require administrator. Because the task is scheduled to run nightly, and the running user does not have administrative privelages, the task is failing to start.

The application is requiring to be elevated. It has the UAC shield overlay. The application has no RT_MANIFEST resource, and the compatibility option Run this program as administrator is disabled (per-user and all users). So all that's left is some secret global setting.

i know user-specified compat flags are stored in:

HKEY_LOCAL_MACHINE
   \SOFTWARE
     \Microsoft
       \Windows NT
         \CurrentVersion
           \AppCompatFlags
             \Layers

2 Answers 2

0

They are probably in a database file in c:\Windows\AppCompat. But your best bet is to download the latest Application Compatibility Toolkit as the "Compatibility Administrator" contains their complete database. You could use it to disable some or all shims from being applied to your backup application.

1

If they made an app compatibility update to modify that piece of software, wouldn't it show up in the compatibility update list? It seems like they take the time to list them out, why wouldn't they list this piece of software?

Did you try doing a System Restore to a point in time previous to this happening, and see if an app compat update shows up in Windows Updates?

"A secret global setting" sounds a little to complex for this scenario. I suspect some simpler issue is at play. Have you contacted the app vendor? Tried to install it on a different machine?

1
  • The fact that the application's executable has a UAC shield on it, and doesn't have a name that could trigger heuristics, means Vista is getting this admistrative requirement from somewhere.
    – Ian Boyd
    Jul 17, 2009 at 15:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .