diff -r c68a1df5c79a -r 4371f543efda contrib/packaging/wix/readme.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contrib/packaging/wix/readme.rst Fri Mar 08 10:48:22 2019 -0800 @@ -0,0 +1,71 @@ +WiX Installer +============= + +The files in this directory are used to produce an MSI installer using +the WiX Toolset (http://wixtoolset.org/). + +The MSI installers require elevated (admin) privileges due to the +installation of MSVC CRT libraries into the Windows system store. See +the Inno Setup installers in the ``inno`` sibling directory for installers +that do not have this requirement. + +Requirements +============ + +Building the WiX installers requires a Windows machine. The following +dependencies must be installed: + +* Python 2.7 (download from https://www.python.org/downloads/) +* Microsoft Visual C++ Compiler for Python 2.7 + (https://www.microsoft.com/en-us/download/details.aspx?id=44266) +* Python 3.5+ (to run the ``build.py`` script) + +Building +======== + +The ``build.py`` script automates the process of producing an MSI +installer. It manages fetching and configuring non-system dependencies +(such as py2exe, gettext, and various Python packages). + +The script requires an activated ``Visual C++ 2008`` command prompt. +A shortcut to such a prompt was installed with ``Microsoft Visual +C++ Compiler for Python 2.7``. From your Start Menu, look for +``Microsoft Visual C++ Compiler Package for Python 2.7`` then +launch either ``Visual C++ 2008 32-bit Command Prompt`` or +``Visual C++ 2008 64-bit Command Prompt``. + +From the prompt, change to the Mercurial source directory. e.g. +``cd c:\src\hg``. + +Next, invoke ``build.py`` to produce an MSI installer. You will need +to supply the path to the Python interpreter to use.:: + + $ python3 contrib\packaging\wix\build.py \ + --python c:\python27\python.exe + +.. note:: + + The script validates that the Visual C++ environment is active and + that the architecture of the specified Python interpreter matches the + Visual C++ environment. An error is raised otherwise. + +If everything runs as intended, dependencies will be fetched and +configured into the ``build`` sub-directory, Mercurial will be built, +and an installer placed in the ``dist`` sub-directory. The final line +of output should print the name of the generated installer. + +Additional options may be configured. Run ``build.py --help`` to see +a list of program flags. + +Relationship to TortoiseHG +========================== + +TortoiseHG uses the WiX files in this directory. + +The code for building TortoiseHG installers lives at +https://bitbucket.org/tortoisehg/thg-winbuild and is maintained by +Steve Borho (steve@borho.org). + +When changing behavior of the WiX installer, be sure to notify +the TortoiseHG Project of the changes so they have ample time +provide feedback and react to those changes.