takecrate

Crates.iotakecrate
lib.rstakecrate
version1.1.0
sourcesrc
created_at2024-10-04 15:23:18.071132
updated_at2024-11-06 20:04:14.392105
descriptionAdds installer functionality to standalone binaries for distribution of CLI applications
homepage
repositoryhttps://github.com/chfoo/takecrate
max_upload_size
id1396698
size202,455
Christopher Foo (chfoo)

documentation

README

Takecrate

Rust library for adding installer functionality to standalone binaries.

This crate enables CLI applications to be distributed as standalone binaries that can install and uninstall themselves.

Crates.io Version docs.rs

Quick start

let app_id = AppId::new("com.example.my-app").unwrap();
let manifest = PackageManifest::new(&app_id).with_self_exe().unwrap();

if exe_name.ends_with("_installer") {
    takecrate::install_interactive(&manifest).unwrap();
}

Features

This crate aims to be a safe and easy way for users to use binaries by automating the file copying and search path modification.

Supported OS families: unix (macOS and Linux), windows.

In addition, notable quality of life features include:

  • Including files bundled beside the binary.
  • Option for installing for the current user or for all users.

Contributing & support

License

Copyright 2024 Christopher Foo. Licensed under Mozilla Public License 2.0

Commit count: 18

cargo fmt