Building Dasher for Microsoft Windows
=====================================

Prerequisites
-------------

Expat XML Parser

Downloads can be found at http://expat.sourceforge.net

The project files use environment variables to locate the root directories of 
the prerequisites.  You can set these in the Windows control panel: 
Control Panels->System->Advanced->Environment Variables.

Here are the variable names and their default install locations (you may
need to change these to reflect reality on your system):

EXPAT          C:\Program Files\Expat 2.0.1

Additional Prerequisits For Building HTML Help
----------------------------------------------

If you aren't building a release, and don't otherwise want to build the Windows
help (.chm) file, you can ignore these and disable the 'Manual' project in the 
solution. This project is only built for the 'Release' configurations anyway.

LibXML2
docbook-xsl
Microsoft HTML Help Workshop

LibXML2 is available at: http://www.zlatkovic.com/libxml.en.html. The minimum 
requirement here is xslproc.exe, which can be installed along with the required
dependencies by copying the contents of the bin directories from the libxml and 
libxslt packages to (eg) C:\Program Files\LibXML2. If you want to be able to 
use these libraries more generally you should probably put them somewhere in 
the system wide library path.

These need a few more environment variables

LIBXML         C:\Program Files\LibXML2
DOCBOOK_XSL    C:\Program Files\docbook-xsl-1.73.2
HELP_COMPILER  C:\Program Files\HTML Help Workshop\hhc.exe

Note that the last of these must be the full path of the compiler executable. This
is due to technical limitations connected with hhc.exe (a) doing a bad job of 
parsing the command line and (b) giving a non-zero return value on success.

** NOTE **
The automated build step doesn't (yet) handle the image files, so you'll need to 
manually copy Data\Help\Gnome\C\figures to Data\Help\Win32 before building.

Building
--------

Visual Studio 2013 solution/project files are included in the 
Src/Win32 directory. This should hopefully build without modification on 
any system.

Building the installers
-----------------------

To build the installer MSI files, you need to install the Windows Install 
XML (WiX) toolset, from http://wix.sourceforge.net/.  For Visual Studio
2005, you first should install "ProjectAggregator" and then the 3.0 (beta)
version of WiX.  If it installs successfully, you should see "Windows 
Installer XML Version 3.0" listed in the about box of Visual Studio.

The Visual Studio 2013 project files use the environment variable called 
"WIX" which should be set to the install directory of WiX.

setup.exe
---------

The installation itself is carried out by a small utility, setup.exe, which 
downloads the .msi file and installs it. This is (a) to ensure that the
correct version of the Windows Installer is present, and (b) to make sure
that the installer is run with the right options to enable the desired
upgrade behaviour.

The setup.exe binary is built from source shipped as part of the MS Platform
SDK, as si MSIStuff, which is a utility for configuring the resulting
binary. The whole process is described in MS KB article 888473:

http://support.microsoft.com/kb/888473
