Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Konzeption eines Updaters (https://www.delphipraxis.net/129412-konzeption-eines-updaters.html)

JonnyGuitar 18. Feb 2009 19:30


Konzeption eines Updaters
 
Guten Abend,

ich muss mir momentan Gedanken um einen Updater für ein Programm machen.
Was mir ein wenig Kopfzerbrechen bereitet ist das updaten wenn man keine Adminrechte hat.
Wie kann man das umgehen? Durch einen Service der mit Adminrechten läuft und das runtergeladene
MSI ausführt? Oder gibt es da noch andere Möglichkeiten?


Gruss Jonny

DeddyH 18. Feb 2009 19:34

Re: Konzeption eines Updaters
 
Ich hab das auch noch nie gemacht, aber ginge das nicht mit einem entsprechenden Manifest, in dem halt drinsteht, dass Du Admin-Rechte brauchst?

Trynn 18. Feb 2009 19:41

Re: Konzeption eines Updaters
 
Hallo JonnyGuitar,
ich werde in den nächsten Wochen auf über diese Aufgabenstellung stolpern.
Wenn du Interesse hast, könnten wir uns gerne zusammentun :)

Da hätt ich direkt ein paar Fragen, die wohl auch andere benötigen:

Auf Basis welches Betriebssystems soll dein Updater funktionieren?
Wo liegen deine Programmdaten?
Musst du auf div. Windows Dienste zugreifen? (Registry)

Lg,
Trynn

JonnyGuitar 18. Feb 2009 19:53

Re: Konzeption eines Updaters
 
@DeddyH: Ich war davon ausgegangen, dass Manifeste nur in Verbindung mit Exe Dateien funktionieren, deswegen hatte ich das verworfen. Werde das morgen aber direkt mal mit einer MSI Datei versuchen. Das Ergebnis wird dann hier mitgeteilt

@Trynn: Wir können uns gerne austauschen. Habe hier direkt mal die Frage im Forum gestellt um nicht eventuell Gefahr zu laufen in die komplett falsche Richtung zu entwickeln.

Also der Updater soll unter Windows XP/Vista laufen. Die MSI Datei liegt auf einem Webserver. Zusätzlich hatte ich an eine XML Datei gedacht die Versionsinfos etc. enthält. Wenn ein Update, wie auch immer, angestossen wird guckt der Client nach wegen der Versionsnummer, ist ein Update vorhanden wird das MSI ins Temp Verzeichnis geladen und dort ausgeführt. Soweit erstmal die groben Überlegungen.

Gruss Jonny

DeddyH 18. Feb 2009 19:56

Re: Konzeption eines Updaters
 
Zitat:

Zitat von JonnyGuitar
Ich war davon ausgegangen, dass Manifeste nur in Verbindung mit Exe Dateien funktionieren, deswegen hatte ich das verworfen.

Ich hatte ja auch gedacht, dass Deine Exe das MSI runterlädt und anstößt.

JonnyGuitar 18. Feb 2009 19:59

Re: Konzeption eines Updaters
 
Ich glaube da war mein Denkfehler. Es ist also so, dass wenn ein Programm mit Adminrechten einen Installer aufruft dieser auch direkt Adminrechte hat?

DeddyH 18. Feb 2009 20:12

Re: Konzeption eines Updaters
 
Da bin ich nun weiß Gott kein Experte, aber bei Aufruf mit ShellExecute ist das AFAIR so, dass der aufgerufene Prozess die Rechte erbt, im Gegensatz zu CreateProcess. Aber für Details kann ich jetzt nur noch auf die Forensuche verweisen.

stOrM 19. Feb 2009 06:37

Re: Konzeption eines Updaters
 
Der nächste Nichtexperte gesellt sich ma zu diesem Thread :lol:

Hallo erstmal, also wenn das ganze unter XP / Vista rennen soll, kann ich dir nur empfehlen, JWSCL Units einzusetzen, spontan fällt mir da die Unit JWSCLElevation ein dort gibt es dann die Funktion: ElevateProcess sowie JwShellExecute, ich glaub das ist das was Du suchst, desweiteren gibt es dort auch einen Example Ordner wo ein Beispiel zu ElevateProcess enthalten ist.

JWSCL oder für Installationshilfe: Blog Jedi

Gruß
s!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:58 Uhr.

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