![]() |
Anwendung starten mit eingeschalteter UAC
Hallo,
ich habe ein Programm, das dazugehörige Module aus meiner Hauptanwendung heraus startet. Eines dieser Module ist meine eigene "Systemeinstellung" mit der Bezeichnung "xxxSetup" im EXE-Dateinamen. Das Problem: Ist die UAC ausgeschaltet, funktioniert alles bestens. Bei eingeschalteter UAC aber passiert gar nichts. Das Problem ist ja wahrscheinlich, dass mein Hauptprogramm ohne Administrator-Rechte keine Anwendung starten kann, die aufgrund der Bezeichnung "Setup" im Dateinamen aus Sicht von Windows wohl Administrator-Rechte braucht. Wenn der angemeldete User keine Administrator-Rechte hat, ist das Verhalten auch ok. Aber wie bekomme ich es hin, dass zumindest der UAC-Dialog angezeigt wird, wenn der angemeldete User Admin-Rechte hat? Oder kann/muss man sich die Admin-Rechte irgendwie von Windows holen? Ich verwende "CreateProcess(...)" und denke, dass das Problem im 3.Parameter liegt, dem Pointer auf die "security attributes". Viele Grüße Otto |
AW: Anwendung starten mit eingeschalteter UAC
Benenne die Exe einfach um
|
AW: Anwendung starten mit eingeschalteter UAC
Hallo,
das wäre das naheliegendste, geht aber leider nicht, weil in dieser Exe unter Anderem Einstellungen mit meinem Datenbank-Server bewerkstelligt werden müssen. Hierzu sind Admin-Rechte erforderlich, und darum auch das "xxxSetup" im Dateinamen. Ich hab eine integrierte Benutzerverwaltung, und damit wird dann auch VOR dem EXE-Aufruf kontrolliert, ob der User Admin-Rechte hat. Gruss Otto |
AW: Anwendung starten mit eingeschalteter UAC
Das die Meldung kommt ist aber as-designed, wenn Setup im Namen ist
|
AW: Anwendung starten mit eingeschalteter UAC
Hallo Markus,
mann bist du fix :-D und das kurz vor dem Spiel... die Nationalhymne läuft gerade... Du hast vollkommen recht, das ist "as designed". Gerade deswegen ist der Dateiname ja so. Aber, das ist nicht mein Problem: Zitat:
Gruss Otto |
AW: Anwendung starten mit eingeschalteter UAC
Bei aktivierte UAC hat keiner direkte Adminrechte, sondern nur das Recht heraufgestuft zu werden
|
AW: Anwendung starten mit eingeschalteter UAC
CreateProcess kann keine Binärdateien ausführen, die ein Adminmanifest besitzen. Der Rückgabefehler ist dann ERROR_ELEVATION_REQUIRED afaik.
Du musst dann ShellExecute mit "runas" als Verb verwenden. |
AW: Anwendung starten mit eingeschalteter UAC
Hallo,
@Dezipaitor : Vielen Dank für den Tipp!!! Mit ShellExecute und "runas" als 2.Parameter ( LPCTSTR lpOperation) funzt es einwandfrei, d.h. der UAC-Dialog wird angezeigt und alles ist gut. Und auch mit XP funktioniert es. Also alles bestens! Kleine Zusatzfrage: In meiner Hilfe (RAD Studio 2007) ist der Parameter "runas" gar nicht beschrieben. Muss ich wohl irgendwie mal meine Hilfe updaten, aber woher nehmen? Die RAD-Studio-Aktualisierung meldet "Keine Aktualisierungen vorhanden". Mit Delphi-2007 möchte ich schon noch etwas arbeiten, weil einige meiner Bibliotheken nicht mit Delphi-2010 kompatibel sind. Gruss Otto |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 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 by Thomas Breitkreuz