Simple filesystem-based desktop application deployment for Windows
unfurl is a simple desktop application deployment tool for Microsoft Windows.
The main objective is to create a simple and robust alternative to systems such as ClickOnce. Inspired by nlaunch, the objective is to create an application/environment/language-agnostic deployment tool that does not require sophisticated infrastructure.
How it works
unfurl is started with the manifest file as the first argument. Any
additional arguments will be passed along to the target application.
- It finds the manifest file based on the first argument:
- If the argument is an absolute or relative path, it is used
- Search the working directory for the manifest file, adding
- Search the application directory for the manifest file, adding
- The manifest file is parsed.
- It checks the local
APPDATAfolder for existence of the latest version of the target application binary.
- If a local binary was not found, the latest application package is found in
repository. The package naming convention is
myapp-1.0.zip. The package is extracted to the local
- The application specified by
binaryis launched, passing along any additional command line arguments.
If an error occurs during unpackaging, the local copy is removed from
<?xml version="1.0" ?> <unfurl> <binary>myapp.exe</binary> <repository>P:\deploy</repository> <identifier>myapp</identifier> <current-version>1.0</current-version> </unfurl>
- Package dependencies (e.g. a Qt package containing all DLL's)
This code is copyright 2013 Logan Raarup, and is released under the revised BSD License.
For more information, see