jctim / cross-platform-installer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cross-platform-installer

The project is aimed to pack executable jar file with external (non-bundled) resources into a cross-platfrom installer (based on jpackage - a Packaging Tool from JDK 14)

The installer for desired platform (MacOS, Windows, Linux) could be build only on target platform only.

Prerequisites

Native packages will be generated using tools on the target platform. You should install additional software before creating an installer

  • for Windows:
    • Wix, a third-party tool, is required to generate msi or exe packages
  • for Linux:
    • fakeroot and beanutils, rpm. They could be installed (on Debian, Ubuntu) simply
    apt-get -y install fakeroot
    apt-get -y install binutils
    apt-get -y install rpm
    

To package an installer:

  • place jar file with any amount of files into assets directory
  • modify file jpackage.properties in order to reflect your data in application - name, main jar, main class etc.
  • run mvn package
  • the installer is created target/dist/${app.name}-{app.version}.{ext}, where {ext} is the installer's file extension. It is platform-dependent
    • for MacOS - .pkg and .dmg
    • for Windows - .exe and .msi
    • for Linux - .deb and .rpm

Screenshot

MacOS Screenshots

  • Generated installers - .pkg and .dmg in target/dist directory mac screenshot1
  • DMG installer in action mac screenshot2 mac screenshot3
  • PKG installer in action mac screenshot4 mac screenshot5 mac screenshot6 mac screenshot7 mac screenshot8
  • Inside /Applications/MyGreatApp.app/ mac screenshot9

Windows Screenshots

  • Generated installers - .exe and .msi in target/dist directory win screenshot1
  • Installer in action win screenshot2 win screenshot3 win screenshot4 win screenshot5 win screenshot6
  • Inside C:\Program Files\MyGreatApp
    win screenshot7
  • Uninstaller in action win screenshot8 win screenshot9

Linux Screenshots

  • Generated installers - .deb and .pkg in target/dist directory lin screenshot1
  • DEB Installer in action lin screenshot2 lin screenshot3 lin screenshot4 lin screenshot5
  • Inside /opt/mygreatapp/ lin screenshot6
  • Uninstaller in action lin screenshot7

About


Languages

Language:Dockerfile 100.0%