0

suppose my app to run in compatibility mode is locate on

c:\cats\app.exe

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?

harrymc
  • 498,455

1 Answers1

2

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.

harrymc
  • 498,455