From 66f1f5d2bff9900a62db381c8718acb1982f4753 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Wed, 7 Jun 2017 06:39:21 +0100 Subject: First draft of licence and readme files. --- LICENCE | 22 +++++++++++++++ README.txt | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 LICENCE create mode 100644 README.txt diff --git a/LICENCE b/LICENCE new file mode 100644 index 0000000..e578b45 --- /dev/null +++ b/LICENCE @@ -0,0 +1,22 @@ +This collection of scripts and libraries to support running WiX under +Linux is copyright 1999,2017 Simon Tatham. All rights reserved. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation files +(the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..712594f --- /dev/null +++ b/README.txt @@ -0,0 +1,94 @@ +WiX cross-building support for Linux +==================================== + +This directory contains a suite of Linux shared libraries and +supporting scripts to allow parts of the WiX toolset to run on Linux, +generating MSI Windows installer files without depending on Windows +itself, any official Windows DLLs, or even Wine. + +Requirements +------------ + +This system has so far been tested only on Ubuntu 14.04. + +To run, you will need some Ubuntu packages installed: + + - 'mono-runtime' (to run the main CLR executables from WiX itself) + - 'cabextract' and 'msitools' (the libraries in this suite will + expect to be able to invoke them via fork/exec) + - Python (currently only tested with Python 2) to run the wrapper.py + and makecab.py scripts that are part of this source base. + +To compile it, you will also need gcc and autotools. + +(There may be other package dependencies I haven't spotted. I've only +tested this on my own machine and haven't done a full analysis of what +might have already been installed here that I didn't realise I was +depending on. If you find problems along these lines, please help make +this section more complete.) + +Installation +------------ + +First, get the official WiX distribution. I downloaded the latest WiX +3 zip file at the time, which was a zip file called wix310-binaries.zip. + +Unpack that zip file into a directory of your choice, which I will +refer to below as $WIX_INSTALL_DIR. + +Now build and install the stuff in _this_ directory into that same +directory, by running + + - ./autogen.sh (assuming you checked this source tree out of git + rather than installing a tarball of it, so that 'configure' won't + already exist) + + - ./configure --bindir=$WIX_INSTALL_DIR + + - make + + - make install + +This will install some Python scripts and some .so files into the same +location $WIX_INSTALL_DIR where you unpacked the WiX zip file. In +particular, you should find two files 'candle' and 'light' - actually +symlinks to wrapper.py - dropped into that directory, alongside the +candle.exe and light.exe that came from the WiX distribution. + +Running it +---------- + +You should now be able to run $WIX_INSTALL_DIR/candle and +$WIX_INSTALL_DIR/light more or less as if they were the ordinary WiX +'candle' and 'light' programs. + +Ordinary WiX installer source should basically work, except that as a +consequence of running the WiX CLR code on a different OS, this system +will not tolerate backslashes used as directory separators in +pathnames in the .wxs file. You'll need to replace any of those with +forward slashes first (which in my experience does not break +compatibility with WiX run in the usual way). + +Those scripts will run candle.exe and light.exe under Mono, and +arrange to load my .so files in place of the native-code Windows DLLs +that those programs need; the .so files will in turn call out to +cabextract, msibuild and my makecab.py script as necessary. + +Disclaimer +---------- + +This system is very new and not very tested! I have tested it so far +on exactly _one_ installer, namely PuTTY's one, as of the current +master branch at https://git.tartarus.org/simon/putty.git . It is +extremely possible that some more advanced features of WiX will not +work in this system. I will be interested to hear about them, if so, +but I may not have time and energy to fix them; patches would be +preferable to plain bug reports. + +Licence +------- + +The contents of this directory are copyright 2017 Simon Tatham, except +for md5.c, which contains code from PuTTY written in 1999 (also +copyright Simon Tatham). It is redistributable under the MIT licence. +See the file LICENCE for the full licence text. -- cgit v1.2.3-55-g6feb