Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wie würdet ihr ein automatisches Update durchführen?? (https://www.delphipraxis.net/122800-wie-wuerdet-ihr-ein-automatisches-update-durchfuehren.html)

Thomas83 22. Okt 2008 09:14


Wie würdet ihr ein automatisches Update durchführen??
 
servus,

brauche ein paar Ideen wie ihr eure Programme automatisch aktualisiert.
Mein Programm (Client/Server Anwendung) läuft als Dienst.

Hatte mir folgendes überlegt:
Ein Timer / Thread der alle x Minuten/Tage nach einem Update schaut.
Wenn Update vorhanden ist, externes Programm starten.
Dienst beenden, Dienst deinstallieren, update durchführen, dienst installieren, dienst starten.
Brauche hier nur die neue exe hochzuladen und fertig. Egal ob Anwendung off oder on ist.

Per Server ein Komanndo "update ist da".
Update wie oben.
Hier muss ich die exe hochladen und den server den befehl geben.
Was ist aber wenn ein client nicht online ist....


Bei meiner Client Server Anwendung werden Befehle in Textform verschickt
"Befehl#10Daten#10Daten#10#13"
Da kann ich ja keine exe mit übertragen, oder doch?
Also dachte ich mir die exe auf einen Webserver/FTP server zu laden und von da aus per Programm runterzuladen und zu installieren.


Was meint ihr?

mfg

jfheins 22. Okt 2008 09:24

Re: Wie würdet ihr ein automatisches Update durchführen??
 
Ich würde ein kleines PHP Skript benutzen.

Dass würde dann so laufen, dass das Programm beim Benutzer alle paar Wochen/auf Befehl nachschaut und zwar so: h**p://deineurl/script.php?version=2.1.10.1674
Das Skript schaut dann, welche Version aktuell ist und kann dann z.B. zurückgeben "Ihre Version ist aktuell" oder "Ihre Version ist Veraltet. Folgendes wurde seit ihrer Version verändert: <Changelog>"
Evtl. in einem XML Dokument mit URL der neuen EXE.

Dann kannst du dem Benutzer das anzeigen und er kann updatewn wenn er möchte ;)

Bis auf ein paar Verfeinerungen ist das Methode 1 - imho das sinnvollste ;)

BullsEye 22. Okt 2008 09:26

Re: Wie würdet ihr ein automatisches Update durchführen??
 
Zitat:

Ein Timer / Thread der alle x Minuten/Tage nach einem Update schaut.
Gut, ich würde aber nicht zu oft fragen, verbraucht ja auf Ressourcen. Sprich vllt beim starten des Programmes und dann jede Stunde oder so ;)

Zitat:

Wenn Update vorhanden ist, externes Programm starten.
Ich würde vorher fragen ob der Benutzer ein Update will!

EDIT: Es sollte auch ne Möglichkeit geben die Funktion zu deaktivieren.

nsamaster 22. Okt 2008 09:28

Re: Wie würdet ihr ein automatisches Update durchführen??
 
oder du legst auf deinem Server ein simple Text-Datei an, in welchem nach einer vorgegebenen Struktur die Versionsnummer drin steht und andere Daten - z.B. ChangeLog, Bug's, etc...

Du kannst mit deinem Programm dann darauf zugreifen und bei Bedarf den User über Neuerungen informieren. Das würde zumindest einiges an Arbeit sparen um einen PHP-Skript zu entwerfen.

Die Update-Überprüfung würde ich jede Woche machen, zusätzlich zum Programmstart.

Thomas F 22. Okt 2008 09:29

Re: Wie würdet ihr ein automatisches Update durchführen??
 
Ich bekomme alle paar Monate eine Email

"Update ist verfügbar" und dann kann sich

derjenige das Update von der Homepage runterladen

BullsEye 22. Okt 2008 09:30

Re: Wie würdet ihr ein automatisches Update durchführen??
 
Zitat:

Zitat von Thomas F
Ich bekomme alle paar Monate eine Email

"Update ist verfügbar" und dann kann sich

derjenige das Update von der Homepage runterladen

Zu umständlich und bei vielen Updates spamt das nur voll :)

Thomas83 22. Okt 2008 09:37

Re: Wie würdet ihr ein automatisches Update durchführen??
 
da es ein chat wird, soll der user nicht gefragt werden sondern es soll ein update durchgeführt werden ohne das der user noch sein ok geben muss.

Oder ich mache es so!?
Client meldet sich an -> schickt versionsnummer 1.0 -> server meldet zu alt, aktuell 1.5 -> client beendet und startet update.
Vorteil, wenn der server ein update macht, muss dieser auch beendet werden und die clients sich neu anmelden. Da wird immer direkt bei der anmeldung überprüft ob es ein update gibt oder nicht...

b00gie 22. Okt 2008 09:45

Re: Wie würdet ihr ein automatisches Update durchführen??
 
bei mir wird das genauso gemacht. Also ich hab einen CHat Clienten:
1. Bei jedem Start verbindet der Client mit meinem Server wo ein php-script liegt.
2. Das Script vergleicht Client-Daten mit Daten aus einer MySQL Datenbank.
3. Ist ein Update vorhanden, so lädt das Programm dieses herunter
Ein Vorteil: Den Updatenamen, den Updateort übergebe ich mit dem Script an das Programm, heißt du musst im Programm NICHT(!!) festlegen von wo das Update geladen werden soll. Im Programm legst du einfach nur die Adresse des php-scripts fest. Das Script vergleicht dann Version und wenn eine neuere Version vorliegt, übergibt das Script mittels Paramter aus der MySQL Datenbank den Dateinamen und Ort des Updates. Somit kannst du in MySQL dann immer angeben wie die Datei heißt und wo sie liegt^^

Sherlock 22. Okt 2008 09:52

Re: Wie würdet ihr ein automatisches Update durchführen??
 
Zitat:

Zitat von Thomas F
Ich bekomme alle paar Monate eine Email

"Update ist verfügbar" und dann kann sich

derjenige das Update von der Homepage runterladen

Das betrachte ich als schädlich, denn gerade solche Updatemails sind eigentlich in der Regel nur Virenschleudern.
Die Software sollte sich entweder selber um Updates kümmern, oder dem Anwender sollte klar gemacht werden, daß er nach Updates zu suchen hat.

Sherlock

Torpedo 22. Okt 2008 10:10

Re: Wie würdet ihr ein automatisches Update durchführen??
 
Ich weiß ja nicht was das für ein Programm ist, aber wenn du es so machst wie beschrieben könnte man ziemlich einfach das System, auf dem es läuft unter seine Kontrolle bringen, wenn man einen Zugang zum Netzwerk hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:15 Uhr.
Seite 1 von 2  1 2      

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