# Software updatebar machen



## Qler (29. Sep 2012)

Hallo zusammen,

ich stehen mal wieder vor der Frage, ob das was ich mache überhaupt sinnvoll ist!

Ausganssituation:

Ich habe einen kleinen Launcher, den ich ausliefere. Dieser Launcher sorgt dafür, dass die neuste Version meiner Software vorhanden ist. Sollte eine neue Version vorhanden sein, oder sollten zusätzliche jar's benötigt werden, so lädt der Launcher diese herunter und startet das eigentliche Programm erst, wenn es vollständig aktualisiert ist.

Da ich meinen jar's so klein wie mögliche halten möchte, will ich dabei auf 3rd- party- frameworks verzichten...

Was ich will:

Der Launcher muss die Version des vorhandenen Programms mit der aktuellsten Version abgleichen. 
Die aktuellste Version kann man über einen HTTP- Request ermitteln, ist also vorhanden. Zudem ist noch eine SHA-1- Checksum vorhanden, falls der Download abgebrochen wurde...
Die Version der vorhandenen jar speicher ich aktuell in der Manifest- Datei.
Mein Ant- Script erstellt mir bei einem build eine neue Version und über eine weitere Anwendung wird dann die neue jar auf den Server gepusht, die Version und die Checksum aktualisiert, sodass der Launcher die neue Version kennt.

Macht man das so? Bzw. kann man das so machen oder gibt es bessere Methoden, best practice oder so?

Wäre über ein paar Tipps dankbar, bin mit meiner Lösung noch nicht so ganz zufrieden.


----------



## JohannisderKaeufer (29. Sep 2012)

Schon mal über Java Webstart nachgedacht?

Java Web Start ? Wikipedia

Java Web Start Developer Guide


----------



## Qler (29. Sep 2012)

Ja, aber soweit ich das verstanden hab, kann der Benutzer vor dem Starten der Anwendungen keine Module/ Plugins auswählen, die mit geladen werden sollen. 
Hab ich vergessen zu erwähnen, im Launcher kann der Benutzer noch Module auswählen, die dem eigentlichen Programm hinzugefügt werden. Möchte der Benutzer Modul X nicht, dann muss er es ja auch nicht herunterladen...


----------



## JohannisderKaeufer (29. Sep 2012)

Sollte alles soweit konfigurierbar sein.

Lazy Loading von einzelnen Jars ist möglich.

Updates einzelner Jars geht ebenso.

An der Stelle würde ich mir Webstart doch noch mal genauer anschauen. Ich seh da noch kein KO-Kriterium im Raum stehen.


----------



## Qler (29. Sep 2012)

ja mach ich, danke!


----------

