![]() |
Eigenes Update unter VISTA programmieren -UAC-Rechte-Problem
Habe ein Programm, dass unter VISTA (nicht als admin) laufen soll. Nun möchte ich eine eigene Update-Funktion starten, die neueste Updates aus dem Internet herunterlädt. Dies gibt aber Probleme, weil entsprechende Benutzerrechte fehlen. Können für eine bestimmte Funktion höhere Benutzerrechte angefordert werden, oder muss ich eine eigene Applikation schreiben, die diese Updates holt (und die unter admin-rechten gestartet wird)? Wie machen das z.B. Thunderbird und Firefox unter VISTA?
Für jeden Tipp dazu wäre ich sehr dankbar l.g. Sebastian |
Re: Eigenes Update unter VISTA programmieren -UAC-Rechte-Pro
Ein Programm kann unter Vista nicht seine Rechte erhöhen. Dies muß beim Programmstart geschehen.
Du mußt also eine neue Exe starten die mit höheren angeforderten Rechten läuft. |
Re: Eigenes Update unter VISTA programmieren -UAC-Rechte-Pro
Bei TBird/Firefox landen Dinge wie PlugIns, Themes und Extensions unter Appdata des Users.
Wenn ein richtiges Update kommt, dann in Form eines Setups was als Admin ausgeführt werden will. |
Re: Eigenes Update unter VISTA programmieren -UAC-Rechte-Pro
Hallo,
MS hat dafür 2 Vorschläge. 1. Update per WindowsInstaller (Patch) 2. Update-Dienst schreiben Der Dienst wird durch den Admin installiert und hat die Rechte MS empfielt 1. Falls du was in der Richtung 2. machen willst, bin ich interessiert ;) Ein Dienst-Gerüst habe ich schon (für was anderes gebraucht), bei der Kommunikation bin ich noch am überlegen. Heiko |
Re: Eigenes Update unter VISTA programmieren -UAC-Rechte-Pro
Wow, danke für die schnellen Antworten!
Ich präzisiere mal mein Problem: In meiner Exe suche ich nach Update. Dann wird entsprechendes Update heruntergeladen. Dies ist wiederum eine Installer-EXE (ich arbeite mit Inno-Setup als Installer). Nach dem Download soll die EXE gestartet werden und das aktuelle Programm wird beendet. Unter XP kein Problem... Unter Vista habe ich das Problem, dass ich bei einigen Benutzern nicht einmal das Download hinbekomme. Sehe ich das also richtig, dass ich diesen Teil in eine eigene Applikation stecken muss (die ich mit einem entsprechendem Manifest so ausstatte, dass diese ADMIN-Rechte verlangt) und aus dieser dann Download, etc. starte? Danke für weitere Kommentare Sebastian |
Re: Eigenes Update unter VISTA programmieren -UAC-Rechte-Pro
Ja.
|
Re: Eigenes Update unter VISTA programmieren -UAC-Rechte-Pro
Hallo,
der betreffende Manifest-Eintrag sorgt aber nur dafür, dass beim Start des Programms ein Admin-Passwort abgefragt wird, damit die "Admin"-Tätigkeit gestartet werden kann. Der Nutzer muss also trotzdem das (ein) Admin-Kennwort kennen. Heiko |
Re: Eigenes Update unter VISTA programmieren -UAC-Rechte-Pro
Zitat:
Ein Update-Dienst kann - wenn er eine Lücke hat - dazu genutzt werden, ein System zu kompromittieren. Und das im Wurstfall (worst case) ohne Eingriff des Users. Beim Installer kommt zwangsläufig die UAC dazwischen. Ich würde jedoch eher eine kleine Update-Exe vorschlagen. Die per elevation starten, diese stoppt dann die Anwendung (wenn man RICHTIG userfriendly sein will: Anwendungsstatus via Application Recovery API speichern), updatet sie, und startet sie dann mit normalen Rechten neu (wenn man Application Recovery nutzt lädt diese dann den alten Anwendungsstatus neu und der User kann genau dort weiterarbeiten, wo er das Update angestossen hat). |
Re: Eigenes Update unter VISTA programmieren -UAC-Rechte-Pro
Zitat:
|
Re: Eigenes Update unter VISTA programmieren -UAC-Rechte-Pro
Hi @ll,
ich weiß nicht ob es hilft oder schon mal im Forum geschrieben wurde, aber ich habe auch schon mal ein merkwürdiges Erlebnis beim schreiben eines Updates Programm gehabt. Ich habe eine Applikation geschrieben die aus dem Internet Dateien runterlädt und eine andere Applikation startet die wiederum die Aktualisierung vornimmt. Als Administrator unter Vista Ultimate kein Problem als normaler Benutzer kam nachdem herunterladen die Aufforderung nach Passwort und Benutzername (zu wenig Rechte). Danach habe ich mir meine Exe angeguckt die die Aktualisierung vornimmt, die hieß bla-update-blub.exe und hatte ein Schild auf meinem Programm icon gesetzt. Danach habe ich die Exe Umbenannt in irgendwas zum Beispiel "Schlumpftroete.exe" Das Schild war verschwunden und danach ließ sich die Aktualisierung ohne Probleme durchführen. Ich habe daraufhin mal das Internet durchforstet und es gibt wohl eine Liste für exe Dateinamen in denen Setup, install, update usw. keine Ahnung welche Begriffe noch, eine Sicherheitsabfrage auslösen sprich das Icon ein Schild bekommt. dazu noch der ![]() greetz Lun |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 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