Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi UAC-Stigma, UAC-kompatibel (https://www.delphipraxis.net/183981-uac-stigma-uac-kompatibel.html)

Der schöne Günther 17. Feb 2015 20:31

AW: UAC-Stigma, UAC-kompatibel
 
Zitat:

Zitat von ringli (Beitrag 1290266)
Meinst du wirklich HKCU oder HKLM? [...] Das könnte schon deine UAC-Abfrage auslösen.

  1. Höchstwahrscheinlich meint er HKLM, aber es gibt auch unter HKCU einige Ordner in welche du nicht schreiben darfst. Ich kenne nur den für die "lokalen Gruppenrichtlinien" aber es gibt bestimmt noch mehr.
  2. Das hatten wir jetzt schon: Es kommt nicht mittendrin einfach eine "Abfrage". Entweder sie kam am Anfang, oder sie kommt nie. Oder das Programm ist komisch gestrickt und ruft andere Programme auf welche dann beim Start wieder um "Elevatiion" bitten

ringli 17. Feb 2015 20:54

AW: UAC-Stigma, UAC-kompatibel
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1290269)
Das hatten wir jetzt schon: Es kommt nicht mittendrin einfach eine "Abfrage". Entweder sie kam am Anfang, oder sie kommt nie. Oder das Programm ist komisch gestrickt und ruft andere Programme auf welche dann beim Start wieder um "Elevatiion" bitten

Naja, vielleicht liest er beim Start aus der Registry die Einstellungen oder die Lizenz aus. Das würde ja dann zum Anfang passen.

jik 17. Feb 2015 21:12

AW: UAC-Stigma, UAC-kompatibel
 
Danke für eure Antworten bzw. das Willkommen!

Vielleicht habe ich mich nicht klar genug ausgedrückt, jedenfalls kam nicht unbedingt das an, was ich meinte.

@Dalai, cookie22, Perlsau: Ich schreibe nicht ins Programmverzeichnis, sondern ein Unterverzeichnis. Dass das Rechte braucht ist klar und ich werde es ändern. Mach ich natürlich nicht gerne, denn die Änderung soll von den paar hundert Anwendern unbemerkt und fehlerfrei über die Bühne gehen. In so einem Fall versucht man vorher, alle anderen Möglichkeiten auszuschöpfen. Habe aber schon gemerkt, dass ich nicht drumherum komme; das ist aber auch nicht das Thema.

@Der schöne Günther: Diese Anfrage ist nicht 'auf einmal' aufgetreten. Wenn UAC ein, dann immer

@Perlsau: Dieser Link trifft es genauer.
Zitat:

Zitat von Perlsau (Beitrag 1290264)
Wieso man dafür irgendwelche besonderen Rechte benötigen soll, erschließt sich mir ganz und gar nicht.

Genau das frage ich mich auch. Das Schreiben nach dem Unter-Programmordner kommt irgendwann daher. Üblicherweise mosert die UAC erst beim Auftreten der Situation. Aber sie tut es schon zu Beginn.
Zitat:

Zitat von Perlsau (Beitrag 1290264)
Wenn du in den Programmordner zu schreiben versuchst, benötigst du ab Windows Vista Admin-Rechte. Das dient der Sicherheit vor Viren und Malware. Ich würde an deiner Stelle einfach ...

Danke vielmals, aber das wweiß ich alles und darum geht es auch nicht.

@ringli: Sorry, da hatte ich mich vertippt. War HKLM gemeint. Aber, wie gesagt, mache ich ja eben NICHT.


Meine beiden Fragen waren:

1. Herausforderung - wo ist der Haken - Wie komme ich dahinter, was UAC-Reklamationen auslöst?
Ich meine nicht, was es ist, denn das Schreiben, Registry usw. ist mir klar - schön wär's, wenn es so einfach wäre. Die Haupt-Unit des Programms hat 32.000 Zeilen Code, alle zusammen rund 120.000. Da schnell etwas zu finden ist nicht ganz ohne. Die Frage wäre, ob es Tools idealerweise für Delphi gibt, die debuggerlike zeigen, wann/wo die UAC zuschlägt. Ich kann es mir nämlich nicht vorstellen, wo ich so etwas provoziere.

2. Herausforderung - wie werde ich das UAC-Stigma los?
Wenn ein Programm - in diesem Fall Patchwork.exe - einmal die orangefarbene UAC-Meldung ausgelöst hat, dann kann man bei dem Programm ändern was man möchte, die Meldung kommt trotzdem! Ich war sogar so weit gegangen, eine ganz neue leere exe zu machen und die unter dem Namen Patchwork.exe ins Programmverzeichnis zu kopieren und die löste es immer noch aus. Ich hab das aber eh oben beschrieben oben. Wie soll man dann kontrollieren, ob es nun funzt oder nicht? Jedes Mal pro Versuch die ganze jungfräuliche VMWare-Session neu rüberkopieren? Ist doch etwas mühsam, finde ich.

Ich finde es total nett von euch, dass ihr mir Tipps gebt, aber wenn es geht, dann bitte auch zu den Fragen. Deshalb hatte ich mich auch bemüht es genau zu beschreiben.

Dalai 17. Feb 2015 21:32

AW: UAC-Stigma, UAC-kompatibel
 
Zitat:

Zitat von jik (Beitrag 1290277)
@Dalai, cookie22, Perlsau: Ich schreibe nicht ins Programmverzeichnis, sondern ein Unterverzeichnis.

Das ist nur ein unwesentliches Detail und macht keinen Unterschied.

Zitat:

1. Herausforderung - wo ist der Haken - Wie komme ich dahinter, was UAC-Reklamationen auslöst?
Ich würde mit dem Manifest anfangen, da das am einfachsten umzusetzen ist. Vielleicht ändert sich dadurch schon etwas.

Zitat:

Die Frage wäre, ob es Tools idealerweise für Delphi gibt, die debuggerlike zeigen, wann/wo die UAC zuschlägt.
Keine Ahnung, aber ich kann mir das nicht vorstellen, weil solche Tools den Zusammenhang zwischen vielen Zeilen Quelltext herstellen müssten, sinnvollerweise zur Laufzeit, denn manches ist nur zur Laufzeit bekannt.

Zitat:

Ich war sogar so weit gegangen, eine ganz neue leere exe zu machen und die unter dem Namen Patchwork.exe ins Programmverzeichnis zu kopieren und die löste es immer noch aus.
Und in einem anderen Verzeichnis aus? Es könnte sein, dass die EXE in die o.g. Application Compatibility Database eingetragen wurde, dann natürlich in der Registry. Das findet sich dann wahrscheinlich im Zweig
Code:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags
MfG Dalai

jaenicke 17. Feb 2015 21:38

AW: UAC-Stigma, UAC-kompatibel
 
Zitat:

Zitat von jik (Beitrag 1290242)
- Nachsehen, ob gewisse Wörter in der Applikation auftauchen (Update, Setup ...) > nein.

Du schreibst aber immer patchwork.exe? Darin kommt das Wort Patch vor und das ist das dritte der Wörter, das die UAC Abfrage auslöst.

Ralf Kaiser 17. Feb 2015 22:33

AW: UAC-Stigma, UAC-kompatibel
 
Man sollte außerdem noch die Versionsinformationen der EXE überprüfen. Wenn dort, z.B. im Kommentar eines der Trigger-Wörter vorkommt wird die UAC auch ausgelöst!

jik 17. Feb 2015 22:59

AW: UAC-Stigma, UAC-kompatibel
 
Zitat:

Zitat von jaenicke (Beitrag 1290283)
Du schreibst aber immer patchwork.exe? Darin kommt das Wort Patch vor und das ist das dritte der Wörter, das die UAC Abfrage auslöst.

CONGRATS! Das war es tatsächlich! Habe das dpr und damit exe auf pw.exe umbenannt und die Moserei ist vorbei. Hätte ich jetzt nicht gedacht - super!


Zitat:

Zitat von Dalai (Beitrag 1290281)
Code:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags

Danke. Dort selbst hab ich zwar nichts gefunden aber dafür unter
Code:
HKEY_USERS\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Zitat:

Zitat von Ralf Kaiser (Beitrag 1290287)
Man sollte außerdem noch die Versionsinformationen der EXE überprüfen. Wenn dort, z.B. im Kommentar eines der Trigger-Wörter vorkommt wird die UAC auch ausgelöst!

Danke. Dort hatte ich schon nachgesehen, aber nichts gefunden. Trotzdem gut zu wissen!

Dalai 17. Feb 2015 23:15

AW: UAC-Stigma, UAC-kompatibel
 
Zitat:

Zitat von jik (Beitrag 1290288)
Zitat:

Zitat von jaenicke (Beitrag 1290283)
Du schreibst aber immer patchwork.exe? Darin kommt das Wort Patch vor und das ist das dritte der Wörter, das die UAC Abfrage auslöst.

CONGRATS! Das war es tatsächlich! Habe das dpr und damit exe auf pw.exe umbenannt und die Moserei ist vorbei. Hätte ich jetzt nicht gedacht - super!

Mit einem Manifest (mit passender Angabe des requestedExecutionLevel) wäre der Dateiname völlig egal, d.h. es könnte auch weiterhin patchwork.exe heißen. Ich glaube, nun hab ich oft genug darauf hingewiesen und halte ab jetzt diesbzgl. die Klappe ;)

MfG Dalai

jik 17. Feb 2015 23:27

AW: UAC-Stigma, UAC-kompatibel
 
Zitat:

Zitat von Dalai (Beitrag 1290290)
Zitat:

Zitat von jik (Beitrag 1290288)
Zitat:

Zitat von jaenicke (Beitrag 1290283)
Du schreibst aber immer patchwork.exe? Darin kommt das Wort Patch vor und das ist das dritte der Wörter, das die UAC Abfrage auslöst.

CONGRATS! Das war es tatsächlich! Habe das dpr und damit exe auf pw.exe umbenannt und die Moserei ist vorbei. Hätte ich jetzt nicht gedacht - super!

Mit einem Manifest (mit passender Angabe des requestedExecutionLevel) wäre der Dateiname völlig egal, d.h. es könnte auch weiterhin patchwork.exe heißen. Ich glaube, nun hab ich oft genug darauf hingewiesen und halte ab jetzt diesbzgl. die Klappe ;)

MfG Dalai

Danke ;-) werde es mal ausprobieren damit, ist wahr, denn es wäre kein Fehler, wenn die exe so bleiben kann.

jaenicke 18. Feb 2015 05:03

AW: UAC-Stigma, UAC-kompatibel
 
Außerdem hat ein Manifest den Vorteil, dass die Anwendung die Themes von Windows nutzt und somit deutlich besser aussieht als ohne. Unter dem von dir ja in Wartestellung erwähnten XE6 ist das übrigens nur noch eine Einstellung in den Projektoptionen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:12 Uhr.
Seite 2 von 3     12 3      

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