corundum-framework-package
A desktop app as a Velopack package, for Windows, macOS and Linux.
start is the first thing the app's main runs. Started by the Windows installer or
uninstaller for a hook, it runs the app's hook and exits; otherwise it tells the app whether
this start is its first, the first after an update, or neither, from the version the app
last ran with. Not in a package (cargo run), it says so and does nothing else.
use ;
The crate's other parts:
Updaterfinds and downloads the app's updates on a thread of its own, and applies one only when asked, after the app'sbefore_applyhas stopped its background processes.applyhands the update to Velopack's updater: withAfter::Exit(a daemon, a command) it exits the process; with a restart it returns, and the app ends the process itself, a GUI by closing its window.apply_pending_at_startapplies, at a GUI's start, an update downloaded earlier and never applied.cli_pathputs the app's command line onPATH: the userPathon Windows, from the install hook; a link in/usr/local/binon macOS and in~/.local/binon Linux, when the user asks. Another program's command of the same name is left alone.consoleis the Windows console shim: a GUI binary has no console, so a small console binary onPATHstarts it with the terminal's arguments and streams.
On iOS and Android the crate is empty: the store installs and updates the app there.
License
Licensed under either of the Apache License, Version 2.0 or the MIT license, at your option.