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.
- unfurl is started with the manifest file as the first argument. Any
additional arguments will be passed along to the target application.
Examples:
unfurl.exe myappunfurl.exe myapp.xmlunfurl.exe apps\myappunfurl.exe P:\deploy\myapp.xml
- 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
.xmlif needed - Search the application directory for the manifest file, adding
.xmlif needed
- 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[identifier]-[current-version].zip. E.g.myapp-1.0.zip. The package is extracted to the localAPPDATAfolder. - 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
APPDATA.
<?xml version="1.0" ?>
<unfurl>
<binary>myapp.exe</binary>
<repository>P:\deploy</repository>
<identifier>myapp</identifier>
<current-version>1.0</current-version>
</unfurl>- Tests
- 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 LICENSE.