Something that has always puzzled me is why MS purposely blocks most of the exe to run on the previous windows version(s). Say you can't run win8's notepad on win7, or w10's one on win8.1 I assume there isn't any real missing requirement or dependency, especially for a simple one like the notepad. There must be just a minimal version check somewhere in the exe header, that I guess should be pretty easy to hexedit. So my question is, what should we change?
I only know that system exe have got a readable XML part inside...ATM I don't have a hexeditor handy... Best would be to post the error message additionally.... Some exe require a particular DLL and version of it anyway.
AFAIK, some apps in any Windows version, older and latest, are Kernel bound and checking at every start, that the right Kernel is in use!
To me seems like killing a patient affected by a cancer to prevent any further metastasis... It works but...
The chance of such a program work on earlier systems is extremely low, it is expected that this type of program is strongly linked to the core functions of the system, including many new features that every new version of Windows usually adds. However, a program such as Notepad or some games that are somehow loosely connected to the system, will be much easier to port. But I also believe that you already knew. cheers
Well I think that if any normal exe works across an huge number of versions, most of the system exes should work as well. That check looks like more as an artificial barrier rather than something meant to prevent real technical problems. I think there are more possible problems running older exes on newer OSes, and they aren't blocked. Say chkdsk from w7 could be dangerous on a deduplicated system, or explorer.exe from w8.1 may mess something on W10 10393 with the long path support enabled. It's really more complicate than that because exes are relying on dlls, and an older exe can do the right thing because the newer dll it's going to use. Anyway You got my point ,I think.