Skip to content
Browse files

Added license and readme

  • Loading branch information...
1 parent 16e95e2 commit 1c64bc4ac47cccd4c699623b2ea6c03ff05f4b14 @logandk committed
Showing with 91 additions and 0 deletions.
  1. +25 −0 LICENSE
  2. +66 −0 README.md
View
25 LICENSE
@@ -0,0 +1,25 @@
+Copyright (c) 2013, Logan Raarup
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+* The names of the contributors may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
View
66 README.md
@@ -0,0 +1,66 @@
+# unfurl #
+
+Simple filesystem-based desktop application deployment for Windows
+
+# Introduction #
+
+**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][1]. Inspired by [nlaunch][2], the objective is to create an
+application/environment/language-agnostic deployment tool that does not require
+sophisticated infrastructure.
+
+# How it works #
+
+1. **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 myapp`
+ * `unfurl.exe myapp.xml`
+ * `unfurl.exe apps\myapp`
+ * `unfurl.exe P:\deploy\myapp.xml`
+2. 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 `.xml` if needed
+ * Search the application directory for the manifest file, adding `.xml` if
+ needed
+3. The manifest file is parsed.
+4. It checks the local `APPDATA` folder for existence of the latest version of
+ the target application binary.
+5. 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 local `APPDATA` folder.
+6. The application specified by `binary` is launched, passing along any
+ additional command line arguments.
+
+If an error occurs during unpackaging, the local copy is removed from
+`APPDATA`.
+
+# Manifest file #
+
+```xml
+<?xml version="1.0" ?>
+<unfurl>
+ <binary>myapp.exe</binary>
+ <repository>P:\deploy</repository>
+ <identifier>myapp</identifier>
+ <current-version>1.0</current-version>
+</unfurl>
+```
+# TODO #
+
+* Tests
+* Package dependencies (e.g. a Qt package containing all DLL's)
+
+# License #
+
+This code is copyright 2013 Logan Raarup, and is released under the revised BSD License.
+
+For more information, see [`LICENSE`](http://github.com/logandk/unfurl/blob/master/LICENSE).
+
+
+[1]: http://en.wikipedia.org/wiki/ClickOnce
+[2]: https://code.google.com/p/nlaunch

0 comments on commit 1c64bc4

Please sign in to comment.
Something went wrong with that request. Please try again.