AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Prüfmethoden für Updates

Ein Thema von TheMiller · begonnen am 20. Aug 2014 · letzter Beitrag vom 31. Jul 2021
Antwort Antwort
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Prüfmethoden für Updates

  Alt 26. Aug 2014, 12:26
Hallo,

  1. Programmiererzeugnisse und Abhängigkeiten in den Release-Ordner verschieben (wenn nicht bereits getan)
  2. Rollout erzeugen (zB: via InnoSetup)
  3. via Oberfläche eine update.ini erzeugen und automatisch veröffentlichen lassen
  4. Benutzer startet sein Programm
  5. Updater vergleicht remote-Versionskennung (aus updates.ini) mit lokaler Versionskennung aus Datei/DB. (Versionskennung könnte Build-nr, timestamp etc. sein)
  6. Wenn sich diese unterscheiden, läd der Updater das Rollout herunter (Datei entimmt er der updates.ini)
  7. Nach dem Download wird das Rollout mittels Hash verifiziert.
  8. Das Rollout wird installiert bzw. Daten werden entpackt (je nachdem ob portable oder fest installiert)
  9. Programm wird wieder gestartet.
Ich mache es derzeit genauso (allerdings ohne Hash, aber diese Anregung nehme ich gerne mit). Ich habe mir einen "Uploader" geschrieben, der aufgrund der Programmversion im Release-Ordner die update.ini erzeugt und Setup-Programm und ini-Datei auf einen Server hochlädt.

Unterscheidungsmerkmal ist dabei die Build-Nummer, d. h. bei jeder Programmversion, die veröffentlicht wird, muss zwingend die Buildnummer erhöht werden.

Setups werden auch mit Innosetup erzeugt.

Das Programm startet nach dem Herunterladen das Setup im Silent-Modus, d. h. das Setup läuft zwar sichtbar, aber ohne Eingriffsmöglichkeit (ist ja nur ein Update) durch und startet danach das Programm wieder.

Das alles läuft seit ca. 5 Jahren ohne Probleme.

Gruß
Frank
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Prüfmethoden für Updates

  Alt 26. Aug 2014, 12:52
Unterscheidungsmerkmal ist dabei die Build-Nummer, d. h. bei jeder Programmversion, die veröffentlicht wird, muss zwingend die Buildnummer erhöht werden.
Genau da halte ich mich eher an die hier beschriebene Vorgehensweise.
Die Auslieferung erhöht die Hauptversions-, Nebenversions- oder Revisions-Nummer.

Die Buildnummer ist hier eher unwichtig. Zur Auslieferung wird dann im VCS auch ein entsprechendes Tag gesetzt (1.0.0, 1.0.1, 1.1.0, ...)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Prüfmethoden für Updates

  Alt 26. Aug 2014, 13:38
Hallo,

@Thomas K: Ich hatte keinen roten Kasten.

Ansonsten verwende ich auch nur eine Setup.exe die nach Bedarf mit Parametern aufgerufen wird.


Gruß
Frank
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  Mit Zitat antworten Zitat
Thomas_K

Registriert seit: 16. Apr 2006
71 Beiträge
 
Delphi XE8 Professional
 
#4

AW: Prüfmethoden für Updates

  Alt 26. Aug 2014, 14:19
Hallo,
@Thomas K: Ich hatte keinen roten Kasten.
Frank
Aber ich und ich wollte/konnte auch nix mehr Ändern bzw. Bezug auf deine Antwort nehmen - sorry.
  Mit Zitat antworten Zitat
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Prüfmethoden für Updates

  Alt 26. Aug 2014, 15:33
Hallo,

Aber ich und ich wollte/konnte auch nix mehr Ändern bzw. Bezug auf deine Antwort nehmen - sorry.
Ach so, dann ist ja gut

Gruß
Frank
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#6

AW: Prüfmethoden für Updates

  Alt 28. Aug 2014, 17:41
So, mein Updater ist nun fertig. Ich werde ihn noch etwas testen und dann - wenn Interesse besteht - mit euch teilen. Ich habe eine Demo-Applikation geschrieben, ein RolloutMaker zum Erstellen von Updates und alles ist via DoxyGen dokumentiert.

Der Updater, bestehend auf 4 Klassen, kann derzeit folgendes:
  • Simple Einrichtung: Die Update-Suche und das Downloaden ist in 10 Codezeilen durch Benutzung der Update-Klasse vollständig konfiguriert.
  • Simples Erstellen von Rollouts: Mit 3 Klicks ist das Rollout erstellt und veröffentlicht.
  • Automatisches Erstellen der lokalen Versionsdatei, welche zum Vergleich dient.
  • Automatische Suche nach Updates. Versionserkennung anhand einer (selbstdefinierbaren) Versionsnummer. Sie muss nicht einkompiliert sein.
  • Updates herunterladen (eigener Thread). Indy-Events OnWork etc.pp. werden durchgereicht, sodass die Stati und Fortschritte in der GUI anzeigbar sind.
  • ReleaseNotes publizieren und anzeigen.
  • Erstellen eines Updates: 3-Klick-System. Der RolloutMaker läd das Projekt, liest die neuen Infos aus, erstellt die Steuerdatei und lädt die Daten automatisch per FTP an ihren Platz (eigener Thread). Auch hier werden alle Events durchgereicht. Die FTP-Einstellungen werden in den Projekteinstellungen definiert.
  • Durch den Aufbau des Updaters und der lokalen Versionsdatei ist es möglich, ein zentrales Update-Programm für mehrere eigene Produkte zu erstellen.

Das waren jetzt alle Highlights, glaube ich. Klar kann man immer etwas verändern, aber so funktioniert es erstmal. Bei Interesse lade ich es gerne mal hoch.

Auf diesem Wege möchte ich damit erstmal für die Hilfe, Anregungen und Ideen bedanken.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#7

AW: Prüfmethoden für Updates

  Alt 29. Aug 2014, 06:54
Ersetzt Du die Dateien direkt? Was passiert beim Verbindungsabbruch? Funktioniert dann alles noch?
Oder war das nur missverständlich formuliert?
Zitat:
...und lädt die Daten automatisch per FTP an ihren Platz (eigener Thread).
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:50 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