AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Windows Kompatibilitätsmodus verbieten

Windows Kompatibilitätsmodus verbieten

Ein Thema von Michael II · begonnen am 6. Jan 2023 · letzter Beitrag vom 6. Jan 2023
Antwort Antwort
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
772 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Windows Kompatibilitätsmodus verbieten

  Alt 6. Jan 2023, 15:31
Besten Dank für all eure Meldungen.

Danke mmw. Immerhin kann ich so die Registry-Einträge im Installer der App killen. Dankeschön.
(Neuinstallation half dem Kunden nix, da der KM Registry-Eintrag bestehen bleibt. Der Wert wurde wohl von irgend einem "Optimierer" und sicher nicht von mir oder direkt vom Kunden gesetzt.)

Wie Uwe schreibt: Wenn die App selbst den KM killen soll, dann muss der Kunde Admin freischalten. (Weit über 50% meiner Kunden haben mit Windows Dingen absolut nix am Hut; die App wird oft von Tochter oder Sohn installiert. Steiniger Weg.)

Danke jaenicke:
Ich verwende für die App das Manifest, welches Delphi 11.2 z.V. stellt. Sollte ich dieses anpassen?
Du schreibst, man sollte XP Kompatibilität nicht setzen können:
Ich habe rasch getestet, ob ich für Delphi 11.2 den Kompatibilitätsmodus auf "Win XP SP3" setzen kann. Ich kann. Ist das Manifest von Delphi 11.2 also auch "mangelhaft"?
Ich verwende: Microsoft Windows 11 [Version 10.0.22623.1095]
Der Kunde hat ein Win 10 drauf.

[Dieses "Problem" war mir bisher nicht bekannt. App auf mehr als 40'000 Kisten installiert, ein paar hundert Kisten haben bis dato >3000 Updates installiert. Die App lief früher auch unter XP, ohne Admin. Wird im KM XP SP3 Admin verlangt, weil das Manifest von 11.2 dies bewirkt? Da sollte ich mich wohl dringend mal einlesen...]
Michael Gasser

Geändert von Michael II ( 6. Jan 2023 um 15:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.373 Beiträge
 
Delphi 12 Athens
 
#2

AW: Windows Kompatibilitätsmodus verbieten

  Alt 6. Jan 2023, 16:18
Verbieten geht nicht, aber man kann verhindern, dass durch Windows es automatisch aktiviert wird.

Du könntest GetSystemInfo mit GetNativeSystemInfo vergleichen und versuchen zu erkennen, ob der Kompatibilitätsmodus aktiv ist und dann den Nutzer warnen informieren.



"Automatisch" geht der Kompatibilitätsmodus eigentlich nur an, wenn die ID der jeweiligen Windows-Version nicht in der Liste der supportedOS enthalten ist.
Es wird dann davon ausgegangen daß die Anwendung nicht kompatibel ist und über eine Heuristik oder Sonstwas wird dann versucht zu erkennen was vermutlich nötig ist.
z.B. wird über Keywords im Dateinamen, wie z.B. "setup" oder "install", davon ausgegangen, dass es ein "Installer" ist und demnach Adminrechte benötigt.

Manuell kann man aber dennoch daran etwas verändern.



Delphi 11.2 sieht diesbezüglich OK aus.
Code:
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
   <application>
      <!--The ID below indicates app support for Windows Vista -->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <!--The ID below indicates app support for Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
      <!--The ID below indicates app support for Windows 8 -->
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
      <!--The ID below indicates app support for Windows 8.1 -->
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
      <!--The ID below indicates app support for Windows 10 -->
      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>         
   </application>
</compatibility>
Ja, Windows 11 fehlt scheinbar, aber auch nur, wenn man nicht bedenkt, dass Windows 11 keine neue ID bekommen hat und immernoch die Windows 10-ID benutzt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 6. Jan 2023 um 16:23 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz