An adaptable installer for your application
Go to file
James 4d50a0f8f8 Update packages, use async client for downloading config
While this has a hell of a lot more boilerplate, this is quite
a bit cleaner.
2019-06-23 21:24:13 +10:00
.travis travis: use official Rust Docker image 2019-04-03 00:58:49 -06:00
src Update packages, use async client for downloading config 2019-06-23 21:24:13 +10:00
static Break apart REST into separate services 2019-06-23 20:19:43 +10:00
.gitignore Use proper logging solution 2018-08-04 16:28:13 +10:00
.travis.yml travis: use official Rust Docker image 2019-04-03 00:58:49 -06:00
banner.png Clean up documentation 2018-08-09 17:06:20 +10:00
bootstrap.linux.toml Use "bootstrap" as part of filename for bootstrap configuration files 2018-09-20 13:37:44 +10:00
bootstrap.macos.toml travis: add macos and windows CI 2019-04-03 00:57:27 -06:00
bootstrap.windows.toml Add mechanism to hide advanced menu from config 2018-10-01 11:52:48 +10:00
build.rs Remove overkill bindgen 2018-09-22 15:07:42 +10:00
Cargo.lock Update packages, use async client for downloading config 2019-06-23 21:24:13 +10:00
Cargo.toml linux: implement platform-dependent functions 2019-04-01 13:50:02 -06:00
LICENSE Add readme and license 2018-01-31 14:42:28 +11:00
liftinstall.png Add logo 2018-08-09 15:50:38 +10:00
README.md Point to updated documentation 2018-09-19 12:33:35 +10:00

Usage Documentation - Quick Start - License

Build Status

An installer for your application. Designed to be customisable to the core, hookable from external applications, and have a decent UI.

This is designed to be a more modern interpretation of Qt's Installer Framework, which is hard to develop on, poorly documented, has a hardcoded package listing format, and isn't supported all that well, with rare updates and a large list of bugs.

Building

For more detailed instructions, look at the usage documentation above.

There are are few system dependencies depending on your platform:

  • For all platforms, cargo should be available on your PATH. Rustup is the recommended way to achieve this. Stable or Nightly Rust works fine.
  • For Windows (MSVC), you need Visual Studio installed.
  • For Windows (Mingw), you need gcc/g++ available on the PATH.
  • For Mac, you need Xcode installed, and Clang/etc available on the PATH.
  • For Linux, you need gcc/g++, webkit2gtk, and libssl. For Ubuntu 18.04 this would look like:
apt install -y build-essential libwebkit2gtk-4.0-dev libssl-dev

In order to build yourself an installer, as a bare minimum, you need to:

  • Add your favicon to static/favicon.ico
  • Add your logo to static/logo.png
  • Modify the bootstrap configuration file as needed (config.PLATFORM.toml).
  • Have the main configuration file somewhere useful, reachable over HTTP.
  • Run:
cargo build --release

Contributing

PRs are very welcome. Code should be run through Rustfmt before submission.

License

LiftInstall is licensed under the Apache 2.0 License, which can be found in LICENSE.