aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LICENCE22
-rw-r--r--README.txt94
2 files changed, 116 insertions, 0 deletions
diff --git a/LICENCE b/LICENCE
new file mode 100644
index 0000000..e578b45
--- /dev/null
+++ b/LICENCE
@@ -0,0 +1,22 @@
1This collection of scripts and libraries to support running WiX under
2Linux is copyright 1999,2017 Simon Tatham. All rights reserved.
3
4Permission is hereby granted, free of charge, to any person
5obtaining a copy of this software and associated documentation files
6(the "Software"), to deal in the Software without restriction,
7including without limitation the rights to use, copy, modify, merge,
8publish, distribute, sublicense, and/or sell copies of the Software,
9and to permit persons to whom the Software is furnished to do so,
10subject to the following conditions:
11
12The above copyright notice and this permission notice shall be
13included in all copies or substantial portions of the Software.
14
15THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22SOFTWARE.
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..712594f
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,94 @@
1WiX cross-building support for Linux
2====================================
3
4This directory contains a suite of Linux shared libraries and
5supporting scripts to allow parts of the WiX toolset to run on Linux,
6generating MSI Windows installer files without depending on Windows
7itself, any official Windows DLLs, or even Wine.
8
9Requirements
10------------
11
12This system has so far been tested only on Ubuntu 14.04.
13
14To run, you will need some Ubuntu packages installed:
15
16 - 'mono-runtime' (to run the main CLR executables from WiX itself)
17 - 'cabextract' and 'msitools' (the libraries in this suite will
18 expect to be able to invoke them via fork/exec)
19 - Python (currently only tested with Python 2) to run the wrapper.py
20 and makecab.py scripts that are part of this source base.
21
22To compile it, you will also need gcc and autotools.
23
24(There may be other package dependencies I haven't spotted. I've only
25tested this on my own machine and haven't done a full analysis of what
26might have already been installed here that I didn't realise I was
27depending on. If you find problems along these lines, please help make
28this section more complete.)
29
30Installation
31------------
32
33First, get the official WiX distribution. I downloaded the latest WiX
343 zip file at the time, which was a zip file called wix310-binaries.zip.
35
36Unpack that zip file into a directory of your choice, which I will
37refer to below as $WIX_INSTALL_DIR.
38
39Now build and install the stuff in _this_ directory into that same
40directory, by running
41
42 - ./autogen.sh (assuming you checked this source tree out of git
43 rather than installing a tarball of it, so that 'configure' won't
44 already exist)
45
46 - ./configure --bindir=$WIX_INSTALL_DIR
47
48 - make
49
50 - make install
51
52This will install some Python scripts and some .so files into the same
53location $WIX_INSTALL_DIR where you unpacked the WiX zip file. In
54particular, you should find two files 'candle' and 'light' - actually
55symlinks to wrapper.py - dropped into that directory, alongside the
56candle.exe and light.exe that came from the WiX distribution.
57
58Running it
59----------
60
61You should now be able to run $WIX_INSTALL_DIR/candle and
62$WIX_INSTALL_DIR/light more or less as if they were the ordinary WiX
63'candle' and 'light' programs.
64
65Ordinary WiX installer source should basically work, except that as a
66consequence of running the WiX CLR code on a different OS, this system
67will not tolerate backslashes used as directory separators in
68pathnames in the .wxs file. You'll need to replace any of those with
69forward slashes first (which in my experience does not break
70compatibility with WiX run in the usual way).
71
72Those scripts will run candle.exe and light.exe under Mono, and
73arrange to load my .so files in place of the native-code Windows DLLs
74that those programs need; the .so files will in turn call out to
75cabextract, msibuild and my makecab.py script as necessary.
76
77Disclaimer
78----------
79
80This system is very new and not very tested! I have tested it so far
81on exactly _one_ installer, namely PuTTY's one, as of the current
82master branch at https://git.tartarus.org/simon/putty.git . It is
83extremely possible that some more advanced features of WiX will not
84work in this system. I will be interested to hear about them, if so,
85but I may not have time and energy to fix them; patches would be
86preferable to plain bug reports.
87
88Licence
89-------
90
91The contents of this directory are copyright 2017 Simon Tatham, except
92for md5.c, which contains code from PuTTY written in 1999 (also
93copyright Simon Tatham). It is redistributable under the MIT licence.
94See the file LICENCE for the full licence text.