Jonas Letzbor 0c65ad04c7 | ||
---|---|---|
gradle/wrapper | ||
src/main | ||
.gitignore | ||
.project | ||
Jenkinsfile | ||
LICENSE | ||
README.md | ||
build.gradle | ||
gradlew | ||
gradlew.bat | ||
settings.gradle |
README.md
Purpose
This project provides a simple installation tool for installing your java application under the operation systems windows and linux.
If you want to use a simple installer instead of the installation method the operating systems ships with (like msi or dpkg packages) feel free to use this installer.
This installer can be used for a single jar file with a few dependencies.
Features
Windows and Linux
- quiet installation without opening a command prompt
- installation of fonts from the source folder (.tft)
- the executable to install can be downloaded from a webserver.
Basic auth for downloading the executable is supported - install the program portable in a single folder
- creating a desktop and a start menu entry with a custom icon
- a launch script for opening the application will be provided
Windows
- besides the removal via the launch script an uninstall entry in the contol center will also be created
- install the programm only for the current user -> no need of administrator rights
Linux
- creation of a systemd unit file to run the program as a service
Getting started
The usage of the library is very simple. See the below code snippet for a short example.
InstallConfig conf = new InstallConfig (
"myCompany",
"2.0.0",
"MyApplicationName",
"My long application name")
;
// now you can specify the various options via the InstallConfig
conf.setDownloadURLForProgramm(URL, BASIC_AUTH_USER, BASIC_AUTH_PASSWORD);
... // see the javadoc for more options
// after configuring you can install the application
Installer installer = new Installer(conf);
installer.installProgramm(args);
// whether the installation was successful (0) or erroneous (<0)
System.out.println(installer.getResponseCode());
For a real life example you can take a look at the installer of RPdb.
License
This project is licensed under the GPLv3. Please see the LICENSE file for an full license.
Need help?
You can check out the 📖️ Javadocs for more informations.
If that didn't help you feel free to create an issue or open a pull request 📣️