Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Compatibility Tab (https://www.delphipraxis.net/195930-compatibility-tab.html)

surfer007 8. Apr 2018 08:24

Compatibility Tab
 
Hallo,

mache meiner mit D7 erstellten EXE Dateien weisen einen "Compatibility" Tab unter Eigenschaften auf, manche nicht. Wo wird gesteuert ob der "Compatibility" Tab vorhanden ist?

Danke

günni0 8. Apr 2018 09:26

AW: Compatibility Tab
 
Eine schnelle Google-Suche
https://www.eightforums.com/threads/...missing.24805/

surfer007 8. Apr 2018 12:43

AW: Compatibility Tab
 
Ich wollte wissen warum bei manchen der "Compatibility" Tab vorhanden ist, und bei anderen wiederum nicht.

bnreimer42 8. Apr 2018 13:08

AW: Compatibility Tab
 
Also ich finde keine EXE-Dateien, egal mit welcher Delphi Version gebaut und egal ob 32 oder 64 Bit, die die Kompatibilitäts-Lasche nicht haben.

surfer007 8. Apr 2018 16:16

AW: Compatibility Tab
 
Eine Anwendung wo der "Compatibility" Tab nicht angezeigt wird ist z.B. ein Settings Updater, die EXE heisst update.exe
Wenn ich nun das selbe Projekt als my.dpr abspeichere und die exe erzeuge, hat die my.exe den "Compatibility" Tab. Scheint Windows mag den Namen update nicht?!

dummzeuch 8. Apr 2018 16:32

AW: Compatibility Tab
 
Zitat:

Zitat von surfer007 (Beitrag 1398466)
Eine Anwendung wo der "Compatibility" Tab nicht angezeigt wird ist z.B. ein Settings Updater, die EXE heisst update.exe
Wenn ich nun das selbe Projekt als my.dpr abspeichere und die exe erzeuge, hat die my.exe den "Compatibility" Tab. Scheint Windows mag den Namen update nicht?!

Das hängt vermutlich damit zusammen, dass Windows manche Programmnamen speziell behandlt, z.B. Setup.exe dürfte auch keinen Compatibility Tab haben.

edit: Doch, dasselbe Programm als setup.exe hat den Tab, als update.exe hat ihn nicht. Definitiv irgenwas seltsames wegen Windows.

Dalai 8. Apr 2018 20:12

AW: Compatibility Tab
 
Egal, wie ich die EXE nenne (auch update.exe), egal ob Manifest und/oder Versionsinformationen vorhanden, das Register Kompatibilität ist auf meinem Win7 x64 immer vorhanden.

Hängt vielleicht vom Ort der EXE ab? Oder von der Windows-Version? Oder von etwas ganz anderem?

Grüße
Dalai

KodeZwerg 8. Apr 2018 21:19

AW: Compatibility Tab
 
Ich würde mich freuen wenn Du eine .exe (gepackt in ein Archiv) hochlädst die ein solches Merkmal hat (Sperrung des Kompatibilitäts-Reiter). Rein aus Interesse. Ich kann mir nur vorstellen das da irgendein Datei-Handler bei Dir dazwischen Funkt.

surfer007 9. Apr 2018 08:00

AW: Compatibility Tab
 
Liste der Anhänge anzeigen (Anzahl: 1)
Als Anhang eine update.exe (leeres Fenster), erstellt mit D7, auf Win8.1 64 erscheint kein Compatibility Tab

günni0 9. Apr 2018 09:29

AW: Compatibility Tab
 
Ich habe zwar kein Windows 8.1 da, aber unter Windows 7 ist der Tab da wo er sein soll.

KodeZwerg 9. Apr 2018 10:23

AW: Compatibility Tab
 
Liste der Anhänge anzeigen (Anzahl: 1)
Oha, Windows 10/64Bit zeigt mir nicht den Reiter an siehe Anhang.

MichaelT 9. Apr 2018 11:34

AW: Compatibility Tab
 
Unter Win 8.1 64-bit ist der Tab nicht da. Sobald ich die Datei auf haeschen.exe umbenenne erscheint der Reiter wieder.

MichaelT 9. Apr 2018 12:04

AW: Compatibility Tab
 
Im Policy Editor.
Local Computer Policy
Computer Configuration
Administrative Templates
Application Compatibilty

Rechte Seite - Remove Program Compatibilty Property Page usw...

-- Kann mir aber vorstellen, dass das nichts bringt in diesem Fall.

oder schau unter

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

KodeZwerg 9. Apr 2018 12:30

AW: Compatibility Tab
 
Liste der Anhänge anzeigen (Anzahl: 1)
Unter Windows 10/64Bit hab ich folgende simple Möglichkeit:
Rechts-Klick auf Datei -> "Behandeln von Kompatibilitätsproblemem" -> Siehe Anhang
Das ersetzt den Reiter, oder?

MichaelT 9. Apr 2018 15:42

AW: Compatibility Tab
 
Die gibt es unter Win 8.1 auch. Ich bin allein nicht dahintergekommen warum Windows den Tab ausblendet.

Zitat:

Zitat von KodeZwerg (Beitrag 1398547)
Unter Windows 10/64Bit hab ich folgende simple Möglichkeit:
Rechts-Klick auf Datei -> "Behandeln von Kompatibilitätsproblemem" -> Siehe Anhang
Das ersetzt den Reiter, oder?


Dalai 9. Apr 2018 16:06

AW: Compatibility Tab
 
Ich kann die Beobachtungen bestätigen. Ab Win8.1 fehlt das Register Kompatibilität bei Programmen, die "update" im Dateinamen haben, also auch bei "meinupdaterhanswilli.exe". Das ist sogar unabhängig vom Manifest der Fall.

Stellt sich die Frage, ob man das wirklich braucht. Bei selbsterstellten Programmen kann man doch im Code auf evtl. vorhandene Probleme im OS reagieren. Alternativ kann man - wenn wirklich nötig - die Kompatibilität im von MichaelT genannten Registry-Zweig setzen (wenn man weiß, welche Werte man setzen muss ;)). Oder was übersehe ich?

Grüße
Dalai

MichaelT 9. Apr 2018 16:48

AW: Compatibility Tab
 
Hätte ich auch so interpretiert. AppCompatFlags ist ausgiebig. Bis zu den Einstellungen 'HighDPIAware' kann man sich ausleben.bspw.

Der Url ist nicht ganz neu. Seit Windows Server 2003 gibt es den Mechanismus. Noch dazu steht der Teil in der Registry gleich unter AeDebug. Deswegen ist mir das mal aufgefallen.

Zitat:

Zitat von Dalai (Beitrag 1398568)
Ich kann die Beobachtungen bestätigen. Ab Win8.1 fehlt das Register Kompatibilität bei Programmen, die "update" im Dateinamen haben, also auch bei "meinupdaterhanswilli.exe". Das ist sogar unabhängig vom Manifest der Fall.

Stellt sich die Frage, ob man das wirklich braucht. Bei selbsterstellten Programmen kann man doch im Code auf evtl. vorhandene Probleme im OS reagieren. Alternativ kann man - wenn wirklich nötig - die Kompatibilität im von MichaelT genannten Registry-Zweig setzen (wenn man weiß, welche Werte man setzen muss ;)). Oder was übersehe ich?

Grüße
Dalai


himitsu 9. Apr 2018 17:10

AW: Compatibility Tab
 
Zitat:

Bei selbsterstellten Programmen kann man doch im Code auf evtl. vorhandene Probleme im OS reagieren
Es geht gerade um "ältere" Programme, wo drinnen niemand oder "falsch" irgendwas prüft.
Da muß es eben windowsseitig gemacht werden.

Ich weiß garnicht, ob die "Heuristik" welche das automatisch bestimmt, wenn sich das Programm nicht als kompatibel outed, von Microsoft irgendwo ausführlich erklärt wird.

KodeZwerg 9. Apr 2018 18:43

AW: Compatibility Tab
 
Ich bin noch nicht so ganz dahinter gekommen was da gezaubert wird aber alleine am Namen wird das Ereigniss nicht ausgelöst aber irgendwie dennoch berücksichtigt.
Bei mehreren Versuchen mit Exe Dateien die ich nach "update.exe" umbenannt habe wird mal der Reiter angezeigt und mal nicht.
Wenn man eine absolut nicht-exe (Ini, Txt, Htm) Datei nach "update.exe" umbenennt wird der Reiter immer Angezeigt, also irgendeine Logik passiert da schon. Vielleicht reagiert's auf den PE-Header bei Angabe einer Bestimmten OS-Version, ich bin noch am rumexperimentieren.

himitsu 9. Apr 2018 21:20

AW: Compatibility Tab
 
Dateiname, DLL-Importliste, eine Blacklist bekannter Dateien mit Problemen uvm.

Darum ist es auch besser sich als kompatibel zu markieren, um nicht da reinzurutschen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz