Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Update-Funktion per LAN (https://www.delphipraxis.net/71667-update-funktion-per-lan.html)

CG2003 19. Jun 2006 10:37


Update-Funktion per LAN
 
Hallo liebe DP,

ich habe für meine Software, welche ich momentan für die Firma entwickle vor, eine Update-Funktion über das LAN zu erstellen.
Wir haben hier eine Win2003-Domäne, und ich habe einen Ordner auf dem Server freigegeben, in dem das Update (eine ZIP-Datei z.B.)
hinterlegt ist.

Meine Vorgehensweise wäre nun folgende:

- Software schaut aufs Server-Laufwerk, vergleicht die Versionen (Timestamp etc.)
- Software benachrichtigt User
- Software kopiert das Update automatisch vom Server in's HOMEDIR des Nutzers
- Software entpackt das Update und installiert es
- Software wird neu gestartet


Nun meine Frage, wie gehe ich generell vor? Wie mache ich den Versionsvergleich und die Installation des Updates?
Bitte kein InnoSetup, Installshield etc. Ich würde das gerne selbst implementieren.


Vielen Dank schon mal für Eure (kontruktiven) Vorschläge.

Union 19. Jun 2006 10:52

Re: Update-Funktion per LAN
 
Hi,

ich würde das als Dienst auf dem Server realisieren. Die Anwendung sollte vom Server aus auf den Workstations aktualisiert werden. Denn gerade in Firmennetzen sollten die User keine Schreibberechtigungen in Programmverzeichnis haben.

Ich würde es so machen:
  • Entweder Software schickt Anfrage an den Service
  • oder Service schickt Update-Info an die Software
  • Software beendet sich selber und ruft ein Mini-Programm auf, das so lange läuft (mit Info für User) bis der Updateprozess beendet ist.
  • Währenddessen kopiert der Service die neue Software auf den Clientrechner
  • Dann sendet der Service Info über erfolgreiches Update an das Mini-Programm
  • Dieses startet dann die Software wieder neu bzw. gibt Info an den User
Kommunikation zwischen Client und Server könnte über TCP oder pipes erfolgen.

Torpedo 19. Jun 2006 11:14

Re: Update-Funktion per LAN
 
Du könntest beim Start der Software eine UDP-Message mit Versionsnummer zum Server schicken, der dann antwortet:
"0" Wenn die Version aktuell ist.
"Pfad zur neuen Version" Wenn sie nicht aktuell ist

CG2003 19. Jun 2006 11:17

Re: Update-Funktion per LAN
 
Nun ja, der User hat ja Schreibrechte in seinem HOMEDIR.
Und so wollte ich das gerne machen, das das Update wirklich im HOMEDIR zwischengespeichert wird.
Und die "Update-Anfrage" soll wenn möglich auch vom Client bzw. User geschehen, da das ganze auf MySQL basiert, und ich eine eigene Administrationsoberfläche für meine Software habe.
Dort wollte ich dann auch den Pfad zum Update-Ordner auf'm Server hinterlegen.

So soll dann beim Starten der Software eine MySQL-Anfrage gestartet werden, welche mir den Update-Pfad zurückgibt.
Dann soll die Software vergleichen und evtl. das Update ins HOMEDIR runterladen.

Jelly 19. Jun 2006 18:37

Re: Update-Funktion per LAN
 
Wer MSI Pakete zum Installieren seiner Software nutzt, kann direkt die Softwareupdatefunktion eines Windows 2003 Servers nutzen. Beim Einloggen (oder beim Rechnerstart, je nach Konfiguration), wird so beim Client direkt da Programm installiert. um Rechte braucht man sich nicht kümmern, das erledigt Windows für einen... Einzige Voraussetzung ist allerdings ein MSI Installationspaket, also leider nix mit ZIP.

Einstellen lässt sich das in den Gruppenrichtlinie der Domain unter Computerkonfiguration->Softwareeinstellungen->Softwareinstallation

Fällt ein MSI Paket weg, so hat Union den richtigen Weg genannt. Software sollte unter Admin Rechten installiert werden, und als normaler Benutzer laufen.


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