Search code examples
windowsregistry4d-database

Windows version outside the registry?


I need take an old software that was built in 4D 2004 (you probably never heard about 4D but it doesn't matter) and make it compatible with Windows 7 by fooling it and making him believe he's running under Windows XP.

I thought the application was getting the version number of windows from HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion and that I could change this value but I was wrong… Even if I change the values in the registry, the version number of windows returned by my application is always the same:

498139398 for Windows 7

170393861 for windows XP

Those value contains the windows version (this link explain how to extract the version number) but I don’t know where it was taken from.

If you google those numbers, you’ll find out that other applications are referring to the same version number.

I tried to find what registry was used by the application with a Process Monitor but none of the registry accessed by the application seems to be related to a windows version.

Does anyone have a clue of where those values might be coming from? Could it be outside the registry / hardcoded somewhere?


Solution

  • Windows already has tools to do this. Have you tried right-clicking on the program, selecting Properties and looking at the Compatibility tab?

    For more complex tricks investigate "Microsoft Application Compatibility Toolkit".