2016-08-08 18 views
0

Ich packe gerade eine Anwendung, die im Kompatibilitätsmodus ausgeführt wird. Ich habe leicht den Ort gefunden, wo die Registrierungsschlüssel in der HKLM (für alle Benutzer) oder HKCU (nur für den angemeldeten Benutzer) erstellt werden.Windows 10 Kompatibilitätsmodus | Registrierungsschlüssel

Das Problem ist; was ich wirklich nicht weiß, wenn es ein Problem ist, kann ich den Registrierungsschlüssel in HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers festlegen. Ich erstelle eine REG_SZ mit dem Namen des Schlüssels als Pfad.

Beispiel: C: \ Program Files (x86) \ MyApplicationDirectory \ MyApp.exe

Der Wert dieses Schlüssels ist ~ WIN7RTM

Das Problem ist das, wenn ich die Anwendung zu installieren und ich erstellen Registrierungsschlüssel mit diesem Pfad. Ich kann auf die Verknüpfungseigenschaften klicken und auf die Registerkarte Kompatibilität gehen und bemerkte, dass es nicht im Kompatibilitätsmodus in Windows 7 ausgeführt wird.

Ich weiß, ich habe den richtigen Registrierungsschlüssel erstellt, weil ich ursprünglich die Verknüpfung über die erstellte Registerkarte "Kompatibilität" und klicken Sie auf "Einstellungen für alle Benutzer ändern" und legen Sie fest, dass sie dort unter Windows 7 ausgeführt werden soll. Wenn ich den Kompatibilitätsmodus innerhalb der Verknüpfung einstelle, kann ich das überprüfen. (Gelb markiert)

enter image description here

Aber wenn ich versuche, den Kompatibilitätsmodus über den Registrierungsschlüssel gesetzt und ich gehe in die Eigenschaften der EXE-Datei oder eine Verknüpfung, wird die Box nicht überprüft.

  1. Wenn ich den Registrierungsschlüssel festlegen, wie kann ich überprüfen, ob die Anwendung im Kompatibilitätsmodus ausgeführt wird?
  2. Gibt es eine andere Möglichkeit, den Registrierungsschlüssel festzulegen und sicherzustellen, dass es im Kompatibilitätsmodus ausgeführt wird?
+0

Wow, niemand. LOL. Wenn ich etwas nicht klar erklärt habe, lass es mich wissen. – TheInfamousOne

+0

Dies ist [** für den Benutzer, nicht der Programmierer **] (https://blogs.msdn.microsoft.com/oldnewthing/20100311-00/?p=14643/). Diese ganze Anstrengung ist nur eine Verschwendung von Zeit. Sie sollten die Anwendung so anpassen, dass sie kompatibel ist. Die Kompatibilitätsmodus-Layer machen nichts Magisches, sie versuchen nur das Buggy-Verhalten älterer Versionen wiederherzustellen. Es ist viel einfacher, die Fehler in Ihrem Programm zu beheben. –

+0

Ich stimme zu Gary und der Verkäufer hat es behoben. Unser Unternehmen ist gerade dabei, zu Windows 10 zu migrieren. Das Problem ist, dass die Dinge langsam laufen, um das Produkt und die Backend-Datenbank zu aktualisieren. Sie brauchen Leute, die jetzt etwas verwenden, bis wir die aktualisierte Version bereitstellen. – TheInfamousOne

Antwort

1

Macht nichts, Leute. Ich habe einen Blick geworfen und die erstellten Registrierungsschlüssel verglichen. Ich habe kein Leerzeichen zwischen ~ und WIN7RTM hinzugefügt. Sobald ich einen Leerraum hinzugefügt habe, hat es gut funktioniert.

Vorher: ~ WIN7RTM (nicht korrekt)

Nach: ~ WIN7RTM (korrekt)

es übersehen.