Es gibt sicherlich Flags in den Headern der ausführbaren Datei, die auf einige Arten der Kompatibilität hinweisen, aber ich vermute, dass es nur mit 32- oder 64-Bit-Versionen und einer Plattform (MIPS, Alpha, PowerPC, Intel, ...) für ältere Versionen (NT3) verbunden ist NT4-Zeiten) ausführbare Dateien.
Normalerweise ist es die Aufgabe des Installationsprogramms (falls vorhanden), die Betriebssystemkompatibilität zu überprüfen. Wenn kein Installationsprogramm vorhanden ist, überprüft die ausführbare Datei die Betriebssystemkompatibilität in der Logik des Codes selbst, nicht an einem bekannten Ort, den Sie vor dem Ausführen der Anwendung überprüfen könnten.
Ich bezweifle es also, es hängt davon ab, wo im Code und wie die Prüfung durchgeführt wird, und es ändert sich für jede Anwendung, die eine solche Prüfung durchführt.