An adaptable installer for your application
Go to file
2018-08-09 16:02:03 +10:00
.travis
src Add self-updating feature (closes #2) 2018-08-09 15:21:50 +10:00
static Add message about post-launch artifacts (closes #6) 2018-08-09 15:23:02 +10:00
.gitignore
.travis.yml
build.rs
Cargo.lock
Cargo.toml Fix location of serde in build dependencies 2018-08-09 16:02:03 +10:00
config.linux.toml
config.windows.toml
LICENSE
liftinstall.png Add logo 2018-08-09 15:50:38 +10:00
README.md

LiftInstall

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 has several issues:

  • Hard to develop on and poorly documented
  • Hardcoded package listing format, requires very specific setups for packages, packages must be built using their tool
  • Poorly supported, 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
  • 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.