Programm - Update via Internet?

Extremefall

Bekanntes Mitglied
Hallo,
ich dachte mir, dass es doch ganz praktisch wäre, wenn das Programm z.B. Updates ermöglicht. Ob es nun automatische Updates sind oder nach der Auswahl, ist erst einmal egal. Ich habe jetzt einen Aktionlistener, der bei einem Klick nach Updates suchen soll und wenn es welche gibt, diese auch installieren sollte.

Leider weiß ich überhaupt nicht, wie ich das angehen. Wie macht man es, dass man nach Updates für ein Programm sucht? Gibt es da eine besondere Vorgehensweise? Habt ihr eventuell links, die mir weiterhelfen könnten?

MfG
 
Ich habe so etwas bei einem meiner Projekte gemacht. Dazu habe ich einen Webspace und eine Textdatei benutzt. Das Programm geht online und läd sich die Textdatei herunter. In der Textdatei steht die neueste Versionsnummer, allerdings ohne Punkte sondern so, dass sie sich in ein Integer umwandeln lässt. Den Inhalt der Datei vergleicht es mit seiner eigenen Versionsnummer. Wenn die Versionsnummer in der Datei größer ist, dann wird eine entsprechende Meldung über die Verfügbarkeit eines Updates angezeigt.
Wird auf "Installieren" bzw. "Ja" geklickt (JOptionPane.showConfirmDialog), dann läd das Programm den Installer aus dem Webspace herunter, startet ihn und beendet sich.
Der Installer läuft bei mir im Hintergrund, d.h. ohne Fenster. Nach Abschluss des Updates startet er dann die neue Version des Programms.
Stattdessen ließe sich aber auch ein "klassischer" Installer (.msi z.B.) verwenden.

Was der Installer tut und warum das ganze nicht einfach ohne den, sondern mit einem Index der upzudatenden Dateien lösbar war: Wenn mal das Patchen einiger Dateien oder Registry-Einträge ansteht, dann ist es einfacher, ein paar Zeilen Quelltext dafür zu schreiben, die dann gedownloadet und ausgeführt werden, als einen Index aller auszuführenden Operationen zu erstellen, der von einem festen Schema nicht abweichen darf und der für alle nur möglichen Eventualitäten gerüstet sein muss.
 
Du kannst via Internet die Versionsnummer Abgleichen.
Java:
	public static void main(String[] args) throws Exception{
		Scanner scanner = new Scanner(new URL("http://deineSeite.de/update.html").openStream());
		if(!scanner.nextInt == versionsnummer){
                    update();
                    // der update befehl muss erst erstellt werden versionsnummer ist die aktuelle versionsnummer vom programm 
                }
		scanner.close();
	}
in die update methode kannst du dann schreiben dass er eine jar-datei im internet öffnet, diese ausließt,
und einfach die alte jar datei überschreibt.

Wichtig ist dass du alle relevanten daten Zwischenspeicherst z.B. im Internnet oder in einer txt datei

Ich hoffe das hilft dir.:toll:

:rtfm: Wenn du wissen willst wie du dass mit dem aus einer Jar Datei lesen machst schreib einfach eine antwort dann mache ich dir einen code.
und :cry: nicht falls es nicht funktioniert
 

Neue Themen


Zurück
Oben