Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   UAC und nicht signierte EXE (https://www.delphipraxis.net/170639-uac-und-nicht-signierte-exe.html)

RWarnecke 26. Sep 2012 17:22


UAC und nicht signierte EXE
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,

bei welchen Bedingungen erscheint die UAC-Meldung (s.Abbildung)?

Ich habe für einen Kunden ein Inno-Setup erstellt. In diesem Setup werden einige Dateien auf die Platte kopiert. Wenn ich jetzt die EXE auf dem Kundenrechner ausführe, dann kommt die Meldung aus dem Anhang. Wenn ich das gleiche Setup auf meinen Testsystemen ausführe und das Programm starte, bekomme ich nicht die Meldung.

Grüße
Rolf

Edit 1: Anhang angehängt.

Dalai 26. Sep 2012 18:08

AW: UAC und nicht signierte EXE
 
Ich hatte das Problem auch mal. Das hat nichts mit (fehlender) Signierung zu tun, jedenfalls nicht, dass die Meldung kommt (nur dessen Aussehen). Siehe dieses Thema.

MfG Dalai

RWarnecke 26. Sep 2012 18:34

AW: UAC und nicht signierte EXE
 
Hallo Dalai,

danke für Deine Antwort. Ich glaube nur, dass mir das nicht weiterhilft. Denn das Programm von mir hat kein Manifest und in den Projectoptionen sind die Runtime Themes auch nicht aktiviert. Des weiteren gibt es Rechner mit Windows 7, wo die Meldung auftaucht und Rechner wo die Meldung nicht auftaucht. Deshalb glaube ich, dass es sich hier um ein anderes Problem handelt.

Bummi 26. Sep 2012 19:52

AW: UAC und nicht signierte EXE
 
Irgendwelche Zugriffe auf HKLM o.ä.?

himitsu 26. Sep 2012 21:39

AW: UAC und nicht signierte EXE
 
Steht denn was Interessantes in den "Details"?

RWarnecke 27. Sep 2012 06:00

AW: UAC und nicht signierte EXE
 
Zitat:

Zitat von Bummi (Beitrag 1184601)
Irgendwelche Zugriffe auf HKLM o.ä.?

es gibt keine Zugriffe auf die Registry.
Zitat:

Zitat von himitsu (Beitrag 1184603)
Steht denn was Interessantes in den "Details"?

Da steht nur lediglich das Wort System drin. Kein Setup, MSI oder sonstiges.

hathor 27. Sep 2012 06:17

AW: UAC und nicht signierte EXE
 
In der Benutzerkontensteuerung gibt es 4 Möglichkeiten zur Auswahl:

1. Sicherheitsstufe Nie benachrichtigen: Hier wird bei keiner Aktion nach eine Bestätigung gefragt. Diese Einstellung ist nicht zu empfehlen und öffnet Feind Tür und Tor.

2. Sicherheitsstufe Benachrichtigung bei Programmänderung: Diese Einstellung nur für erfahrende Anwender zu empfehlen. Benachrichtigung nur wenn Programme eine Änderung vornehmen wollen oder an Windows selbst eine Änderung vorgenommen wird.

3.Sicherheitsstufe Standardeinstellung: Benachrichtigung wenn Programme versuchen Änderungen vorzunehmen, Installation von Programmen und bei Änderung der Windowseinstellungen.

4. Sicherheitsstufe und somit die Höchste Sicherheitsstufe unter Windows 7: Bei jede Programmänderung unter Windows 7 und starten von Systemprogrammen wird benachrichtigt.

Erreichbar sind die ganz einfach über die Eingabe von uac in das Suchfeld.
Die gefundene Antwort anklicken.
Einstellungen vornehmen.

Es ist nicht Dein Problem, wenn andere User von irgendwelchen "Warnungen" genervt werden!

RWarnecke 27. Sep 2012 06:28

AW: UAC und nicht signierte EXE
 
Zitat:

Zitat von hathor (Beitrag 1184612)
Es ist nicht Dein Problem, wenn andere User von irgendwelchen "Warnungen" genervt werden!

Das mag ja prinzipell stimmen. Nur leider habe ich das Programm erweitert und jetzt kommt die Meldung und vorher nicht. Selbst wenn ich die UAC auf meinen Testsystemen so einstelle wie beim Kunden, bekomme ich trotzdem nicht die Meldung. Deshalb möchte ich schon wissen woran es liegen kann. Auf meinen Testsystemen kann ich einstellen was ich will bei der UAC oder bei den Berechtigungen, ich bekomme die Meldung nirgendswo.

hathor 27. Sep 2012 06:41

AW: UAC und nicht signierte EXE
 
Im Eigenschaftsfenster des Programms Sicherheit anklicken und vergleichen - irgendwo müssen Unterschiede vorhanden sein!

Dalai 27. Sep 2012 06:44

AW: UAC und nicht signierte EXE
 
Sind für die EXE vielleicht irgendwelche Kompatibilitätseinstellungen (Eigenschaften der EXE, Register Kompatibilität) getätigt worden?

Ergänzung: Arbeitest du vielleicht auf deinem Testsystem mit dem vordefinierten Admin-Account, den Windows beim Setup angelegt hat? Falls ja, für den gilt die UAC nicht, auch wenn sie eingeschaltet ist.

MfG Dalai

ChrisE 27. Sep 2012 07:03

AW: UAC und nicht signierte EXE
 
Zitat:

Zitat von RWarnecke (Beitrag 1184613)
Auf meinen Testsystemen kann ich einstellen was ich will bei der UAC oder bei den Berechtigungen, ich bekomme die Meldung nirgendswo.

Ich nehme an, dass der Unterschied der ist, dass diese EXE vom Kunden runtergeladen wurde. Erhalten solche Dateien nicht nochmal extra eine andere "Markierung" von Windows?

Und der UAC-Dialog an sich öffnet sich doch wirklich nur, wenn Windows beim laden der EXE merkt, dass hier höhere Rechte benötigt werden. Ob per Manifest, Dateiname oder Einstellungen für das Programm (immer als Administrator starten, als teil der Kompatibilitätseinstellungen) oder run as etc...
Aber irgendwer/was auf diesem Rechner ist der Meinung, dass Programm braucht höhere Rechte.

Gruß, Chris

Bummi 27. Sep 2012 07:16

AW: UAC und nicht signierte EXE
 
Ich hatte verstanden es sein Installiert worden, wenn es "heruntergeladen" wurde kannst Du Dir ja mal den ADS ansehen....

Notepad Projekt6.exe:zone.identifier

CCRDude 27. Sep 2012 07:23

AW: UAC und nicht signierte EXE
 
Zitat:

Zitat von ChrisE (Beitrag 1184621)
Ich nehme an, dass der Unterschied der ist, dass diese EXE vom Kunden runtergeladen wurde. Erhalten solche Dateien nicht nochmal extra eine andere "Markierung" von Windows?

Erhalten sie. Als ADS, namens :Zone.Identifier, vom Typ $DATA, ist eine Ini-Struktur, Key ZoneTransfer, Zoneid=3 für Downloads.

Z.B. mit dem FileAlyzer anschaubar.

Allerdings - es geht doch um eine .exe, die vom Installer plaziert wird, oder? Selbst wenn InnoSetup diese per isdownload-Erweiterung runterlädt, sollte sie diesen ADS nicht erhalten, sonst hätten ihn ja so ziemlich jede Datei heutzutage (oder installiert noch wer von CD statt von Downloads? ;) ).

Wenn es noch kein Manifest hat, würde ich hingehen und ihm gleich eines verpassen, jede Hilfestellung hilft der Windows-Heuristik,das evtl. etwas besser einzustufen. Das Wort "System" in den Versionsinfos reicht ja schon.

Ansonsten, falls vorhanden - Versionsverwaltung nach Änderungen durchsehen, Dokumentation neu verwendeter API-Aufrufe lesen...

Und als Denkanstoß / Idee einer passenden Lektüre: Windows-Logo-Programm-Doku runterladen, durchlesen, evtl. erwähnte Tools verwenden. Dort ist sowas eigentlich immer mindestens angerissen.

RWarnecke 27. Sep 2012 09:25

AW: UAC und nicht signierte EXE
 
Zitat:

Zitat von Dalai (Beitrag 1184616)
Sind für die EXE vielleicht irgendwelche Kompatibilitätseinstellungen (Eigenschaften der EXE, Register Kompatibilität) getätigt worden?

Meines Wissens sind hier keine Einstellungen getätigt worden. Müsste ich aber nochmal nachprüfen.

Zitat:

Zitat von Dalai (Beitrag 1184616)
Ergänzung: Arbeitest du vielleicht auf deinem Testsystem mit dem vordefinierten Admin-Account, den Windows beim Setup angelegt hat? Falls ja, für den gilt die UAC nicht, auch wenn sie eingeschaltet ist.

Ich habe mit dem vordefinierten Admin-Account vom Setup und mit einem eigens angelegten Benutzer über die Computerverwaltung keine Meldung auf meinen Testsystemen bekommen.

Zitat:

Zitat von Bummi (Beitrag 1184622)
Ich hatte verstanden es sein Installiert worden, wenn es "heruntergeladen" wurde kannst Du Dir ja mal den ADS ansehen....

Das hattest Du schon richtig verstanden. Das Programm wurde installiert und das Setup wurde heruntergeladen. Hier werde ich den Download ausprobieren.

Zitat:

Zitat von CCRDude (Beitrag 1184623)
Allerdings - es geht doch um eine .exe, die vom Installer plaziert wird, oder?

Korrekt, die EXE wird vom Installer ins Verzeichnis %PROGRAMFILES%\<Programmname> plaziert.

Zitat:

Zitat von CCRDude (Beitrag 1184623)
Wenn es noch kein Manifest hat, würde ich hingehen und ihm gleich eines verpassen, jede Hilfestellung hilft der Windows-Heuristik,das evtl. etwas besser einzustufen.

In wie fern kann hier ein Manifest helfen ? Ich habe das Manifest bis jetzt so verstanden, dass die Controls der Form entsprechend dargestellt werden und das ich dem Programm sagen kann, ob es mit Admin-Rechten starten soll oder nicht.

himitsu 27. Sep 2012 09:37

AW: UAC und nicht signierte EXE
 
Wenn du weißt, daß dein Programm ordnungsgemäß im jeweiligem Windows funktioniert, dann kannst du es auch als "kompatibel" zu Diesem kennzeichnen.

Windows führt dann einige Kompatibilitätstests nimmer durch, aktiviert nicht gewisse Umleitungen/Virtualisierungen usw.

Daniel 27. Sep 2012 10:30

AW: UAC und nicht signierte EXE
 
Auch ein Dateiname kann die UAC triggern. Enthält er Zeichenfolgen wie "setup", "update", "patch" und dgl., dann erscheint die UAC ebenfalls:

Quelle:
http://msdn.microsoft.com/en-us/libr.../bb756960.aspx.

Eben gerade noch mal mit Windows 7 getestet, eine meiner eigenen EXE-Dateien nur umbenannt und schon kommt die UAC.

Bummi 27. Sep 2012 10:39

AW: UAC und nicht signierte EXE
 
@Daniel

wobei Project6.exe IMHO unkritisch ist ...

p80286 27. Sep 2012 10:51

AW: UAC und nicht signierte EXE
 
Zitat:

Zitat von CCRDude (Beitrag 1184623)
Allerdings - es geht doch um eine .exe, die vom Installer plaziert wird, oder?

Es geht um die Installation, würde ich sagen, und da wundert mich, daß es auf dem Heimrechner keine Meldung gibt.

oder ?

Gruß
K-H

himitsu 27. Sep 2012 11:09

AW: UAC und nicht signierte EXE
 
Zitat:

Zitat von Daniel (Beitrag 1184653)
Auch ein Dateiname kann die UAC triggern. Enthält er Zeichenfolgen wie "setup", "update", "patch" und dgl., dann erscheint die UAC ebenfalls:

Das sollte aber mit den passenden Kompatibilitätsangaben nicht mehr passieren. (sind ja nur "patches" für die Abwärtskompatibilität)

Aber so oder so, mit dem passendem Manifest kann man das alles regeln.
- Kompatibilitätsangaben
- und explizit dem UAC sagen "ich will keine höheren Rechte"

RWarnecke 27. Sep 2012 11:16

AW: UAC und nicht signierte EXE
 
Zitat:

Zitat von p80286 (Beitrag 1184657)
Es geht um die Installation, würde ich sagen, und da wundert mich, daß es auf dem Heimrechner keine Meldung gibt. oder ?

Genau, auf meinen Testsystemen gibt es keine Meldung.

Ich habe eben gerade mal auf den einen Rechner geschaut, wo diese Meldung kommt. Dort setzt das Inno-Setup bei der EXE den Haken bei "Programm als Administrator ausführen" unter Kompatibilität-->Berechtigungsstufe in den Eigenschaften der Programm-EXE auf dem Rechner beim Kunden. Wenn ich das gleiche Setup, egal ob Download oder nicht, auf meinem Testsystemen ausführe, wird dieser Haken nicht gesetzt.

Zitat:

Zitat von himitsu (Beitrag 1184666)
Aber so oder so, mit dem passendem Manifest kann man das alles regeln.
- Kompatibilitätsangaben
- und explizit dem UAC sagen "ich will keine höheren Rechte"

Macht das das Manifest auch dann noch, wenn der Haken, wie oben beschrieben, gesetzt wird ?

himitsu 27. Sep 2012 11:20

AW: UAC und nicht signierte EXE
 
OK, wenn der Hacken in den Dateieinstellungen gesetzt wird, dann bringt das auch nicht viel ... das überschreibt ja quasi diese Anforderung. (nicht ausprobiert, aber vermute ich jetzt einfach mal)
Aber zumindestens ist so der normale Programmstart sicherer geregelt. (besser man sagt Windows was es machen soll, als ihm diese Entscheidung zu überlassen :angle2: )

Hmm, dann wirst'e wohl rausbekommen müssen warum Inno das macht und dieses dort abstellen. :gruebel:

RWarnecke 27. Sep 2012 11:50

AW: UAC und nicht signierte EXE
 
Eine Frage, ich habe hier in diesem Beitrag nach Code-Signing gefragt. Könnte ich das ganze Problem mit den gesetzten und nicht gesetzten Haken umgehen, wenn ich das Setup und das Programm signiere und ein Manifest mit reinnehme ?

himitsu 27. Sep 2012 12:23

AW: UAC und nicht signierte EXE
 
Wenn "Admin" verlangt wird, dann kommt auch das UAC und man kann es (hoffentlich) nicht einfach so umgehen.

Sonst bräuchte man Viren/Trojaner/Würmer einfach nur zu signieren und schon hätten freie Bahn. (auch Zertifikate kann man vermutlich irgendwie fälschen)

Bummi 27. Sep 2012 12:26

AW: UAC und nicht signierte EXE
 
Dann bekommst Du ein blaues Fenster mit Herstellerangabe statt eines gelben Fensters ...

RWarnecke 27. Sep 2012 14:28

AW: UAC und nicht signierte EXE
 
Ok, dann bleibt immer noch die Frage, warum wird auf dem einen Rechner der Haken gesetzt und auf einem anderen Rechner nicht ?

RWarnecke 28. Sep 2012 12:05

AW: UAC und nicht signierte EXE
 
Hallo Leute,

für alle, die gerne die Antwort auf das Problem nachlesen möchten, können das in diesem Beitrag des Inno Setup Forums machen.

Habe die Lösung zwei mal ausprobiert und es funktioniert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 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