Het gave van Java is het gehele eco-systeem dat daar omheen zit. Naast dat het tegenwoordig eenvoudig is packages te maken, is het ook makkelijk om zogeheten "Windows Services" te maken. Dit zijn processen die op de achtergrond draaien. Als je bijvoorbeeld een applicatie maakt met een webserver, is dit een handige opzet om te gebruiken.
Er wordt van uit gegaan dat je bekend bent met het maken van een zogeheten 'Runnable Jar'. Dit is een jar-bestand dat uitgevoerd kan worden met het commando: java -jar <filename.jar>
Om van deze jar-file vervolgens een Windows Service te maken zijn de volgende tools nodig:
- jpackage - deze komt gebundeld met OpenJDK
- WiX Toolset
- NSSM
De WiX-Toolset en NSSM moet in 't PATH-environment variabele gezet. Dit kan je doen door de eigenschappen van "Deze Computer" / "This PC" op te vragen => Advanced system settings => Environment Variables...
Vervolgens moet 'nssm.exe' hernoemd worden naar: service-installer.exe.
Nu dat alles is geconfigureerd kan jpackage worden uitgevoerd. Het meeste werk hier is natuurlijk het uitzoeken welke parameters te gebruiken.
jpackage --name "App naam" ^
--main-jar myapp.jar ^
--vendor "vendorname" ^
--app-version "1.0.0" ^
--jlink-options ^
--bind-services ^
--type msi ^
--resource-dir C:\tools\nssm-2.24\win64 ^
--launcher-as-service ^
--input C:\path\to\myapp-jarfolder ^
--dest C:\path\to\myapp-msi
Vervolgens zal jpackage een msi-installer plaatsen in C:\path\to\myapp-msi.