
Ich versuche es zu verdeutlichen. Ich habe eine EXE, nennen wir sie foo.exe, auf einem Windows 10-PC.
Wenn ich auf diese Datei doppelklicke – sei es über eine Verknüpfung auf dem Desktop oder durch Doppelklicken im Datei-Explorer – wird ein Fehler ausgegeben (an dieser Stelle sind die Einzelheiten des Fehlers nicht wichtig, aber ich glaube, es wird möglicherweise versucht, eine DLL aufzurufen, und das schlägt fehl).
Wenn ich jedoch eine CMD-Datei mit dem Inhalt „Starte foo.exe“ erstelle, läuft dies problemlos – es tritt kein Fehler auf und das Programm ist voll funktionsfähig.
Ich frage mich, was die funktionalen Unterschiede zwischen den Startmodi sind, und neige dazu, möglicherweise das Sicherheitstoken zu vermuten, unter dem es ausgeführt wird.
Wenn ich also einfach doppelt klicke, bekomme ich Feuer und Schwefel.
Wenn ich es jedoch: A. aus einer CMD-Datei ausführe oder B. als Administrator ausführe oder C. die Funktion „Kompatibilitätsprobleme beheben“ starte (Rechtsklick), treten diese Fehler nicht auf. Es scheint kein Kompatibilitätsproblem zu sein, weil: a. es über eine CMD-Datei oder als Administrator ausgeführt einwandfrei läuft b. wenn ich den gewählten Kompatibilitätsmodus speichere, tritt beim nächsten Doppelklicken immer noch ein Fehler auf.
Das hier bringt mich um – es ist eine EXE-Datei eines Anbieters, daher habe ich keinen Quellcode und kann keine Details dazu liefern, welche DLLs aufgerufen werden usw. Ich brauche nur einen zweiten Blick auf hoher Ebene, der mir erklärt, warum eine einfache EXE-Datei auch dann einwandfrei läuft, wenn sie über eine andere Startmethode ausgeführt wird.
Diese .exe hatte dieses Problem NICHT in Windows 7 – dieses Verhalten ist neu in Windows 10. Ich habe gehört, dass es in Windows 10 etwas gibt, das standardmäßig alles mit dem am wenigsten privilegierten Token ausführt – unabhängig davon, ob der Benutzer ein Superadministrator oder ein Gast ist, und das ist so ungefähr meine Meinung, aber ich bin mir nicht sicher und weiß nicht, wie ich es beheben kann. Danke!