2015-09-10

Einen Installer für ein JavaXF Programm mit Inno Setup und IntelliJ erstellen

Ich habe mich fast kaputt gesucht. Es gibt zwar einige Artikel zu dem Thema, aber diese waren entweder veraltet, oder viel zu kompliziert oder entsprachen einfach nicht meinen Bedürfnissen.

Wenn ihr also für eure JavaFX-App einen Windows-Installer erstellen wollt und gleichzeitig auch Icon und Lizenz-Dateien anpassen wollt, seid ihr hier genau richtig.

Linux lassen wir mal heute außen vor. Das Programm welches ich packen möchte, habe ich zwar unter Linux entwickelt, ein Linux-Nutzer gibt sich aber mit einer einfachen JAR zufrieden, unter Windows möchten die Meisten leider ein Setup haben. Dann mal los.

Ich gehe hier davon aus, dass IntelliJ mit Java 8 zur Entwicklung verwendet wurde.

Zuerst installiert ihr nun Inno Setup 5.

Anschließend erstellt ihr eine neue Artefakt-Beschreibung in IntelliJ:

Build > Build Artifacts ... > Edit

Project Settings > Artifacts > + > JavaFX-Application > From module 'euer Programm'


Im Reiter Java FX nehmt ihr nun eure Einstellungen vor. Unter 'native Bundle' wählt ihr 'all'.

Anschließend klickt ihr auf okay, und dann

Build > Build Artifacts ...  > Clean

Build > Build Artifacts ...  > Build

IntelliJ bzw. der JavaFX-Packager nutzen dabei ebenfalls Inno Setup, aber auf die Erstellung des Installers hat man nicht viel Einfluss.

Wartet bis der Vorgang abgeschlossen ist und navigiert dann im Ausgabeverzeichnis zu euer_Projekt/out/artifacts/euer_Projekt/bundles/euer_Projekt/

Genau das wollen wir im späteren Programmordner haben. Wenn ihr ein anderes Bild im Installer haben wollt, könnt ihr das jetzt tun.

Nun öffnen ihr also Inno Setup 5 und klickt euch durch den Installer. Kritisch wird es, wenn ihr die einzufügenden Dateien auswählen sollt.

Wählt zuerst oben die euer_Projekt.exe aus. Anschließend die Dateien im Ordner euer_Projekt/out/artifacts/euer_Projekt/bundles/euer_Projekt/ und zuletzt den Ordner selbst. Nehmt die übrigen Einstellungen nach eurem Belieben vor.

Anschließend klickt ihr euch bis zum Ende durch - uuuuun fertig :)

No comments:

Post a Comment