An adaptable installer for your application
Go to file
James 68109894f1 Update config files for v7 (#12)
* platform: fix build on Linux and update web-view

* deps: replace xz-decom with xz2 and update deps

* platform: fix regression...

... that prevents the build on Windows

* linux: implement platform-dependent functions

* travis: add macos and windows CI

* travis: use official Rust Docker image

* Update Cargo.lock for new version

* Break apart REST into separate services

This cleans up locking, ensures consistent futures for all endpoints
and enhances code re-use.

* Clean up codebase, fixing minor errors

* Update packages, use async client for downloading config

While this has a hell of a lot more boilerplate, this is quite
a bit cleaner.

* Add explicit 'dyn's as per Rust nightly requirements

* Migrate self updating functions to own module

* Migrate assets to server module

* Use patched web-view to fix dialogs, remove nfd

* Implement basic dark mode

* Revert window.close usage

* ui: split files and use Webpack

* frontend: ui: include prebuilt assets...

... and update rust side stuff

* build: integrate webpack building into build.rs

* Polish Vue UI split

* Add instructions for node + yarn

* native: fix uninstall self-destruction behavior...... by not showing the command prompt window and fork-spawning the cmd

* native: deal with Unicode issues in native APIs

* native: further improve Unicode support on Windows

* travis: add cache and fix issues

* ui: use Buefy components to...

... beautify the UI

* ui: makes error message selectable

* Make launcher mode behaviour more robust

* Fix error display on launcher pages

* Correctly handle exit on error

* Bump installer version
2019-07-04 21:23:16 -04:00
.travis Update config files for v7 (#12) 2019-07-04 21:23:16 -04:00
src Update config files for v7 (#12) 2019-07-04 21:23:16 -04:00
ui Update config files for v7 (#12) 2019-07-04 21:23:16 -04:00
.gitignore Use proper logging solution 2018-08-04 16:28:13 +10:00
.travis.yml Update config files for v7 (#12) 2019-07-04 21:23:16 -04:00
banner.png Clean up documentation 2018-08-09 17:06:20 +10:00
bootstrap.linux.toml Add yuzu specific configuration files 2018-10-01 11:32:47 +10:00
bootstrap.macos.toml Update config files for v7 (#12) 2019-07-04 21:23:16 -04:00
bootstrap.windows.toml Update config files for v7 (#12) 2019-07-04 21:23:16 -04:00
build.rs Update config files for v7 (#12) 2019-07-04 21:23:16 -04:00
Cargo.lock Update config files for v7 (#12) 2019-07-04 21:23:16 -04:00
Cargo.toml Update config files for v7 (#12) 2019-07-04 21:23:16 -04:00
config.linux.v1.toml Set advanced hidden flag to true 2018-10-01 11:55:12 +10:00
config.windows.v2.toml Update config files for v1.4 2018-12-30 09:11:07 +11:00
config.windows.v3.toml Update config files for v1.4 2018-12-30 09:11:07 +11:00
config.windows.v4.toml Update config files for v1.4 2018-12-30 09:11:07 +11:00
config.windows.v5.toml Update config files for v1.4 2018-12-30 09:11:07 +11:00
config.windows.v6.toml Update config files for v7 (#12) 2019-07-04 21:23:16 -04:00
config.windows.v7.toml Update config files for v7 (#12) 2019-07-04 21:23:16 -04: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 Update config files for v7 (#12) 2019-07-04 21:23:16 -04: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.
  • Have node.js and Yarn available on your PATH (for building UI components, not needed at runtime).
  • 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 ui/public/favicon.ico
  • Add your logo to ui/src/assets/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.