Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Server/Clients via FTP automatisiert updaten (Win Vista/7) (https://www.delphipraxis.net/146741-server-clients-via-ftp-automatisiert-updaten-win-vista-7-a.html)

erich.wanker 26. Jan 2010 13:07


Server/Clients via FTP automatisiert updaten (Win Vista/7)
 
Hallo Delphi-Praxis Community

Bei meinem Programm handelt sich um ein Server/Client-basiertes Programm, welches im standardmäßig im Programmeordner installiert werden soll. Was auch sogleich zu meinem Problem führt: automatisierte Updates.
Im Hintergrund verbindet sich eine kleine Hilfsanwendung mit unseren FTP-Server ladet bei bedarf die "update.zip" herunter extrahiert diese in den Temp-Ordner. Soweit funktioniert das einwandfrei, nun sollen die neuen .exe-Dateien die sich im Temp-Ordner befinden natürlich die alten im Programme-Ordner ersetzen, was ab Vista dank der Rechteeinschränkungen nicht mehr so ohne weiteres funktioniert.

Ist für dieses Problem eventuell schon eine Lösung bekannt?

Ich hoffe ich habe keine wichtigen Informationen vergessen.

___
Delphi 7

DeddyH 26. Jan 2010 13:13

Re: Server/Clients via FTP automatisiert updaten (Win Vista/
 
Was würdest Du hiervon halten? Das Hilfsprogramm erhält ein entsprechendes Manifest, so dass es mit Adminrechten ausgeführt werden muss. Dann lädt es die Dateien herunter, entpackt sie, prüft, ob das zu aktualisierende Programm evtl. noch ausgeführt wird und überschreibt ggf. die alten Stände.

ChrisE 26. Jan 2010 13:15

Re: Server/Clients via FTP automatisiert updaten (Win Vista/
 
Hallo,

Dein Hilfsprogramm muss den eigentlichen Kopiervorgang mit Adminrechten starten.

D.h. entweder ein zusätzliches Kopierprogramm schreiben das du dann Seperat anstartest und das z.B. per Manifest Adminrechte anfordert
oder dein Updater startet sich selber neu mit Adminrechten wenn es ein Update gibt.

So würde ich vorgehen.

Greez, Chris

jaenicke 26. Jan 2010 13:21

Re: Server/Clients via FTP automatisiert updaten (Win Vista/
 
Einmal gibt es für kleinere Tools von mir die Updater Utils, die keine weitere Exe benötigen:
http://www.delphipraxis.net/internal....php?p=1071944

Adminrechte sind aber natürlich immer notwendig. Wenn das ein Problem ist, weil es häufige Updates gibt, die im Hintergrund installiert werden sollen, dann bietet sich ein Dienst an. Der hat nach der Installation die nötigen Rechte, so dass er einfach im Hintergrund die Updates installieren kann.

hoika 26. Jan 2010 13:23

Re: Server/Clients via FTP automatisiert updaten (Win Vista/
 
Hallo,

Zitat:

oder dein Updater startet sich selber neu mit Adminrechten wenn es ein Update gibt
Dann will die UAC aber ein Admin-Kennwort haben.

Microsoft empfiehlt ja folgendes (in der dieser Reihenfolge)

1. MSI mit MSI-Patch-Dsteien (*.MSP)
Installation läuft als Admin (weil der MSI-"Prozess" irgendwie als "SSYSTEM2 läuft)

2. Setup-Dienst
Kommunikation "irgendwioe" dienstorieniert, also IPC (TCP; Pipes)


Heiko

erich.wanker 26. Jan 2010 13:49

Re: Server/Clients via FTP automatisiert updaten (Win Vista/
 
Vielen Dank für eure schnellen Antworten.

Durch die Einbindung eines Manifests entsteht nun das Problem mit der Windowsabfrage "Ein nicht identifiziertes Programm möchte auf Windows zugreifen" kann man diese irgendwie umgehen?

jaenicke 26. Jan 2010 13:51

Re: Server/Clients via FTP automatisiert updaten (Win Vista/
 
Zitat:

Zitat von erich.wanker
Kann man die Windowsabfrage "Ein nicht identifiziertes Programm möchte auf Windows zugreifen" irgendwie umgehen?

Wenn du deinem Programm ein Zertifikat hinzufügst, dann steht dort das was kommt, wenn du z.B. regedit startest. Das Fenster sieht dann aber nur anders aus, umgehen kann man es selbstverständlich nicht. Schließlich müssen die Rechte nun einmal vom Benutzer angefordert werden.


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