Einzelnen Beitrag anzeigen

Benutzerbild von CenBells
CenBells

Registriert seit: 30. Mär 2003
Ort: Kiel urspr. Lübeck
176 Beiträge
 
Delphi 7 Professional
 
#7

Re: Internet Programmupdate durchführen - Wie wirds gemacht

  Alt 7. Jan 2005, 18:13
So, da bin ich endlich. Hat etwas länger gedauert, als gedacht...
Zitat von richard_boderich:
der updateprocess
anforderungen:
1. fortschrittsanzeige (nicht unbedingt benoetigt , aber waere schoen wenn)
Also, da das ganze über das internet geschieht, und ein haufen User unsicher sind, ob das Programm noch läuft, wenn man eine "normale" Progressbar nutzt (keine Bewegung, wenn nichts passiert...) habe ich diese hier genommen.
Mittlerweile habe ich die "Progressbar" in meinem gesamten Programm verwendet und nur positives Feedback erhalten.
Zitat von richard_boderich:
2. verschluesselte uebertragung der binary (nur ganz einfacher algoritmus -> kein klartext uebertragung)
3. passwortschutz für update des client (update ist nur von registrierten lizenzen erlaubt, regdaten sind in win regisrtry oder hardcodiert im client)
4. üebertragung des binary wenn moeglich über port 80 HTTP (wie passwortgesicherter webdownload, weil's spaeter eventuell ueber proxy laufen soll , muss);
Also, ich habe im Netz nen Server, auf dem Firebird läuft. Das Programm connected zu dem Server, macht nen Schlüsselabgleich und erfragt dann die neueste Version. Wenn ne Version vorhanden ist, wird das file runtergeladen. Wobei ich mir noch nicht sicher bin, ob ich das file direkt in nem blob speichern sollte, damit es nicht über nen browser "gefunden" werden kann. Derzeit habe ich die Dateien in einem Verzeichniss aufm server und speicher nur die lokale adresse (die auf dem Server) in der DB und lade die datei ganz normal über http-get herunter.
Zitat von richard_boderich:
5. updateroutine und programm sollen in einer exe-datei sein. (hoffe dat geht ohne groeßeren aufwand)
6...
7. Changelog soll dem nutzer des clients auf wunsch angezeigt werden (ueber memo oder so)

...
Ob 5. nötig ist, weiß ich nicht. Ich habe die update.exe mitgeliefert und starte nach erfolgreichem Download der Dateien die update.exe mit den entsprechenden Parametern. Das gute an der Lösung mit dem erwähnten Update.exe ist, das bei korrekten Parametern auf das Beenden der Hauptanwendung gewartet wird (-> Schön ne message anzeigen "Update wird ausgeführt, Hauptprogramm wird beendet"). Zusätzlich kann das Updateprogramm nach erfolgreichem Update die exe wieder starten.
Wie gesagt, damit du die Update.exe starten kannst, legst du sie eh am besten als file bereit. Und dann brauchst du sie nicht ins Programm integrieren.

Lad dir also am besten das Zip von der Adresse, die ich im letzten Post angegeben hab und schau dir das mal an.

Gruß
Ken
Ein Objekt ist eine zur Ausführungszeit vorhandene für seine Instanzvariablen Speicherplatz allokierende Instanz, die sich gemäß dem Protokoll ihrer Klasse verhält.
  Mit Zitat antworten Zitat