Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Eigenes Update unter VISTA programmieren -UAC-Rechte-Problem (https://www.delphipraxis.net/97591-eigenes-update-unter-vista-programmieren-uac-rechte-problem.html)

shildebrandt 13. Aug 2007 10:06


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

Bernhard Geyer 13. Aug 2007 10:09

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.

Elvis 13. Aug 2007 10:11

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.

hoika 13. Aug 2007 10:21

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

shildebrandt 13. Aug 2007 10:34

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

mkinzler 13. Aug 2007 10:40

Re: Eigenes Update unter VISTA programmieren -UAC-Rechte-Pro
 
Ja.

hoika 13. Aug 2007 10:46

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

Phoenix 13. Aug 2007 10:56

Re: Eigenes Update unter VISTA programmieren -UAC-Rechte-Pro
 
Zitat:

Zitat von hoika
MS empfielt 1.

Zurecht.

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).

shildebrandt 13. Aug 2007 11:19

Re: Eigenes Update unter VISTA programmieren -UAC-Rechte-Pro
 
Zitat:

Zitat von hoika
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

Nun, das ist ja ohnehin der Fall, wenn ich ein Programm installiere, oder??

Lun 13. Aug 2007 11:37

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 link

greetz Lun


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:00 Uhr.
Seite 1 von 2  1 2      

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