# Updates erstellen



## JuKu (22. Okt 2016)

Um mal schnell einen Installer zu erstellen, gibt es gute Programme wie z.B. InnoSetup (kostenlos).
Leider habe ich bisher kein Programm gefunden, mit welchem man einfach Updates erstellen kann.
Sicherlich kann man sich einen Updater selbst schreiben, allerdings ist die Frage, ob man dies in Java tun will, da ja Java noch nicht installiert sein muss, oder was meint ihr?
Außerdem müsste man in Java in der Windows Registry rumpfutschen...
In C++ wäre das natürlich auch möglich, aber GUI ist in C++ immer etwas aufwendiger.
Kennt jemand solche Update Programme, oder würdet ihr es selbst implementieren?


----------



## Flown (22. Okt 2016)

Ich empfehle da immer JNLP (Java Web Start). Wenn eine neuere Version auf dem Server gefunden wird, dann wird diese automatisch heruntergeladen und verwendet.

Wenn du mit einem Installer arbeitest, dann musst das schon selber schreiben, oder immer wieder neu installieren lassen.


----------



## dennisbauer (15. Nov 2016)

Da ich aktuell auch an dieser Problematik in einem privaten Projekt sitze, etwas ähnliches auch für meine Bachelor-Thesis benötigte, kann ich dir folgendes nahelegen:

Du benötigst, so wie z.B. in den meisten Spielen, einen Launcher, der sich nicht häufig ändern sollte und eine Server-Kommunikation aufbaut, über die er die Ressourcen beziehen kann. Den genauen Mechanismus, wie du das implementierst bleibt dir natürlich frei überlassen, am Ende solltest du nur eine Jar-Datei heruntergeladen haben oder eben keine, wenn kein Update stattfinden muss. Über den ProcessBuilder kannst du in Java dann einen neuen Prozess starten, in diesem Falle startest du die Jar-Datei, die du heruntergeladen hast, mit diesem ProcessBuilder, wie wenn du die Datei über die Konsole starten würdest mit java -jar DeinJarName.jar

Solltest du ein Update haben, überschreibst du die alte Jar-Datei einfach mit der neuen und du hast einen ersten, simplen Updatemechanismus, der in der Regel mit Entwicklung der Testcases keine 2 Arbeitstage benötigen sollte.


----------



## JuKu (17. Nov 2016)

Vielen Dank für eure Antworten!

Wie ich das selbst implementieren kann, ist mir klar.
Übrigens solltest du bei deinem Updatevorgang unbedingt irgendwie verifizieren können, dass die JAR auch wirklich vom Server kam (z.B. über signieren), sonst kann ein Hacker per Man In The Middle Attack dem User eine JAR unterjubeln, die dann auch noch automatisch ausgeführt wird.

Mir ging es in diesem Thread aber eben darum, sowas nicht selbst entwickeln zu müssen, sondern ob es bereits fertige Tools dafür gibt, die sowas generieren.


----------

