Hallo,
ich will zum ersten Mal in ein Programm einen Menüpunkt "Auf Update prüfen" einbauen.
Eine eigene Website ist vorhanden (von dort wird man das Programm sowieso herunterladen können).
Wie kann ich einfach und zuverlässig eine Update-Prüfung durchführen?
Im Moment ist meine Idee, dass ich auf meine Website eine Textdatei hochlade, in der die aktuelle Versionsnummer des betr. Programms steht. Eine Instanz meines Programm kann dann diese Datei herunterladen und die darin notierte Versionsnummer mit der eigenen Versionsnummer vergleichen.
Ich freue mich über andere, konstruktive Vorschläge.
Wie auf Update des eigenen Programms prüfen?
Re: Wie auf Update des eigenen Programms prüfen?
Genau so würde ich das auch machen. Die Textdatei muss dabei auch gar nicht richtig runtergeladen werden, es gibt ja auch ReceiveHTTPMemory().
Aber Achtung wegen Datenschutz. Nicht jeder mag es, wenn ein Programm "nach Hause telefoniert", auch wenn es nur eine Versionsnummernabfrage ist, kann der Betreiber (du) ja die Daten vom Clienten auswerten.
Das also über einen zusätzlichen Klick im Menüpunkt zu realisieren, statt automatisch, ist also schon mal die richtige Wahl.
Aber Achtung wegen Datenschutz. Nicht jeder mag es, wenn ein Programm "nach Hause telefoniert", auch wenn es nur eine Versionsnummernabfrage ist, kann der Betreiber (du) ja die Daten vom Clienten auswerten.
Das also über einen zusätzlichen Klick im Menüpunkt zu realisieren, statt automatisch, ist also schon mal die richtige Wahl.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: Wie auf Update des eigenen Programms prüfen?
Hallo Nino,
so habe ich das auch gelöst, bisher ohne Probleme. Als Ideenanstoß: es gibt eine XML-Datei mit den Informationen zur Version
und eine mit Changelog
die bei der Updateprüfung heruntergeladen und mit der aktuellen Programmversion verglichen werden.
so habe ich das auch gelöst, bisher ohne Probleme. Als Ideenanstoß: es gibt eine XML-Datei mit den Informationen zur Version
Code: Alles auswählen
<lsmfile type="updtcurrentversion">
<val id="int">041211024</val>
<val id="str">0.41.211024</val>
<val id="loc">Pfad zum Download</val>
<val id="size">2814719</val>
</lsmfile>
Code: Alles auswählen
<lsmfile type="updtversioninfo">
<version id="41210411" str="0.41.210411" date="2021-04-11">
<change>...</change>
<change>...</change>
</version>
<version id="41211024" str="0.41.211024" date="2021-10-24">
<change>...</change>
<change>...</change>
</version>
</lsmfile>
Win11 x64 | PB 6.00 (x64)
Re: Wie auf Update des eigenen Programms prüfen?
Das funktioniert bestens.
Vielen Dank Euch beiden!
Vielen Dank Euch beiden!
Re: Wie auf Update des eigenen Programms prüfen?
Guten Morgen Nino,
ich habe bei meinen Anwendungen bisher nur einen Updater entwickelt und zwar bei WinAPI Library, weil es sich nur dort gelohnt hat, weil ich seit dem ersten Release insgesamt 48 Updates bereitgestellt habe.
Mein Updater arbeitet differentiell/inkrementell. Für dieses Programm habe ich auch eine Textdatei auf meinem Server und sieht so aus: https://www.rsbasic.de/aktualisierung/w ... /Index.ini
Ich liste alle Dateien mit Dateigröße und MD5-Hash und wenn man in WinAPI Library auf "Nach Updates suchen" klickt, dann lädt er diese Textdatei herunter und vergleicht die Dateien, ob eine Datei neu ist oder sich geändert hat.
Alle gefundenen Dateiänderungen landen in eine Queue und zum Schluss bekommt der Benutzer die Meldung, ob ein Update verfügbar ist und wenn er damit einverstanden ist, dann werden alle fehlenden und geänderten Dateien heruntergeladen und ersetzt.
Mein Updater ist Demand und wird nicht automatisch gestartet, weil ich das auch nicht mag, wenn Programme ständig "nach Hause telefonieren".
ich habe bei meinen Anwendungen bisher nur einen Updater entwickelt und zwar bei WinAPI Library, weil es sich nur dort gelohnt hat, weil ich seit dem ersten Release insgesamt 48 Updates bereitgestellt habe.
Mein Updater arbeitet differentiell/inkrementell. Für dieses Programm habe ich auch eine Textdatei auf meinem Server und sieht so aus: https://www.rsbasic.de/aktualisierung/w ... /Index.ini
Ich liste alle Dateien mit Dateigröße und MD5-Hash und wenn man in WinAPI Library auf "Nach Updates suchen" klickt, dann lädt er diese Textdatei herunter und vergleicht die Dateien, ob eine Datei neu ist oder sich geändert hat.
Alle gefundenen Dateiänderungen landen in eine Queue und zum Schluss bekommt der Benutzer die Meldung, ob ein Update verfügbar ist und wenn er damit einverstanden ist, dann werden alle fehlenden und geänderten Dateien heruntergeladen und ersetzt.
Mein Updater ist Demand und wird nicht automatisch gestartet, weil ich das auch nicht mag, wenn Programme ständig "nach Hause telefonieren".
Re: Wie auf Update des eigenen Programms prüfen?
Guten Morgen RSBasic,
vielen Dank auch an Dich für diese ausführliche Schilderung!
Eine automatische Update-Prüfung werde ich zunächst auch nicht einbauen – evtl. in einer späteren Version des Programms, aber dann nur als Option, die der Benutzer selbst aktiv auswählt.
vielen Dank auch an Dich für diese ausführliche Schilderung!
Eine automatische Update-Prüfung werde ich zunächst auch nicht einbauen – evtl. in einer späteren Version des Programms, aber dann nur als Option, die der Benutzer selbst aktiv auswählt.