A repurposable application-downloader and -launcher
A bundle simply is a subfolder created inside a bundles
directory somewhere in the file system, which any files of your choosing are downloaded to. The downloaded files may be nested into further subdirectories. trivrost downloads files that are missing or have changed and deletes files which are no longer wanted based on their current and desired hash values, the latter of which are read from a bundle information file. You can have as many bundles as you need and they can contain anything as long as it is a plain file in a normal folder hierarchy. (symbolic links and such are not supported.)
A typical bundle as described above, located in a bundles
directory located somewhere under the user’s home directory. Specifically, not a system bundle.
A bundle located under .\systembundles
. See system mode.
A bundle info file describes a single bundle with a unique name, timestamp, relative file paths (which resolve to URLs to said files by joining to the URLs specified by LauncherUpdate.BundleInfo
and Bundles.BundleInfo
in the deplyoment-config) as well as hash values and sizes of said files. See bundleinfo.md.
A config-file embedded into your build of trivrost which, most importantly, tells trivrost where to find the deployment-config. See launcher-config.md.
The deployment config tells trivrost where to check for updates to itself and its bundles, as well as what programs to execute once everything is in place. See deployment-config.md.
We occasionally need to differ between just trivrost’s executable binary and its entire deployment artifact as a whole. On Windows and Linux these two concepts are the same thing. On MacOS however, the deployment artifact of trivrost actually is a .app
-folder, which contains the binary at Contents/MacOS/launcher
.