suppose my app to run in compatibility mode is locate on


If I manually set the app.exe in compatibility mode (for example WinVistaSP2) with the properties etc.. Windows execute it in compatibility mode WinVistaSP2 only the app.exe locate in c:\cats

But if I move the app.exe in another folder, for example y:\dogs\app.exe the compatibility don't acts in that folder.

So I wonder: is there an app or a tool or a way that keep always and in any folders my preset app.exe in compatibility mode?


The simple answer is : You cannot.

The compatibility mode is not kept with the file, but rather kept in the registry under the key
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.

The application would have an entry of type REG_SZ and named y:\dogs\app.exe, having as value all the compatibility flags separated by a blank. For Vista compatibility you would have ~ VISTARTM (note the blank after the ~).

In addition, these registry entries are never deleted, so the file might be moved away or replaced, but a file with the same name and in the same folder will always have these compatibility modes. Not a very sophisticated mechanism, but that's life.

Currently, I don't know of any program that moves the registry entry when the program is moved, not even Microsoft's file utilities. You would need to update the registry manually, or write a script that does the move of the file and also updates the registry. Windows does not do that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.