author | Matt Harbison <matt_harbison@yahoo.com> |
Wed, 04 May 2022 16:01:55 -0400 | |
changeset 49208 | 90f7d8276e26 |
parent 49135 | b44678aeb460 |
permissions | -rw-r--r-- |
41926
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
1 |
WiX Installer |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
2 |
============= |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
3 |
|
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
4 |
The files in this directory are used to produce an MSI installer using |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
5 |
the WiX Toolset (http://wixtoolset.org/). |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
6 |
|
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
7 |
The MSI installers require elevated (admin) privileges due to the |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
8 |
installation of MSVC CRT libraries into the Windows system store. See |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
9 |
the Inno Setup installers in the ``inno`` sibling directory for installers |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
10 |
that do not have this requirement. |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
11 |
|
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
12 |
Requirements |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
13 |
============ |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
14 |
|
49135
b44678aeb460
packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents:
46356
diff
changeset
|
15 |
Building the WiX installer requires a Windows machine. |
41926
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
16 |
|
49135
b44678aeb460
packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents:
46356
diff
changeset
|
17 |
The following system dependencies must be installed: |
b44678aeb460
packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents:
46356
diff
changeset
|
18 |
|
b44678aeb460
packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents:
46356
diff
changeset
|
19 |
* Python 3.6+ (to run the ``packaging.py`` script) |
41926
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
20 |
|
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
21 |
Building |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
22 |
======== |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
23 |
|
43561
081a77df7bc6
packaging: consolidate CLI functionality into packaging.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41926
diff
changeset
|
24 |
The ``packaging.py`` script automates the process of producing an MSI |
41926
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
25 |
installer. It manages fetching and configuring non-system dependencies |
49135
b44678aeb460
packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents:
46356
diff
changeset
|
26 |
(such as gettext, and various Python packages). It can be run from a |
b44678aeb460
packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents:
46356
diff
changeset
|
27 |
basic cmd.exe Window (i.e. activating the MSBuildTools environment is |
b44678aeb460
packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents:
46356
diff
changeset
|
28 |
not required). |
41926
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
29 |
|
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
30 |
From the prompt, change to the Mercurial source directory. e.g. |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
31 |
``cd c:\src\hg``. |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
32 |
|
49135
b44678aeb460
packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents:
46356
diff
changeset
|
33 |
Next, invoke ``packaging.py`` to produce an MSI installer.:: |
41926
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
34 |
|
46356
e933e66153f3
packaging: replace a documentation reference to `python3` on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
43561
diff
changeset
|
35 |
$ py -3 contrib\packaging\packaging.py \ |
49135
b44678aeb460
packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents:
46356
diff
changeset
|
36 |
wix --pyoxidizer-target x86_64-pc-windows-msvc |
41926
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
37 |
|
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
38 |
If everything runs as intended, dependencies will be fetched and |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
39 |
configured into the ``build`` sub-directory, Mercurial will be built, |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
40 |
and an installer placed in the ``dist`` sub-directory. The final line |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
41 |
of output should print the name of the generated installer. |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
42 |
|
49135
b44678aeb460
packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents:
46356
diff
changeset
|
43 |
Additional options may be configured. Run ``packaging.py wix --help`` |
b44678aeb460
packaging: drop python27 references from the Windows instructions
Matt Harbison <matt_harbison@yahoo.com>
parents:
46356
diff
changeset
|
44 |
to see a list of program flags. |
41926
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
45 |
|
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
46 |
Relationship to TortoiseHG |
10502
1e022c88a0a5
Add WiX installer scripts to contrib/wix
Steve Borho <steve@borho.org>
parents:
diff
changeset
|
47 |
========================== |
1e022c88a0a5
Add WiX installer scripts to contrib/wix
Steve Borho <steve@borho.org>
parents:
diff
changeset
|
48 |
|
41926
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
49 |
TortoiseHG uses the WiX files in this directory. |
10502
1e022c88a0a5
Add WiX installer scripts to contrib/wix
Steve Borho <steve@borho.org>
parents:
diff
changeset
|
50 |
|
41926
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
51 |
The code for building TortoiseHG installers lives at |
49208
90f7d8276e26
contrib: migrate off of a couple of bitbucket URLs
Matt Harbison <matt_harbison@yahoo.com>
parents:
49135
diff
changeset
|
52 |
https://foss.heptapod.net/mercurial/tortoisehg/thg-winbuild and is maintained by |
41926
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
53 |
Steve Borho (steve@borho.org). |
10502
1e022c88a0a5
Add WiX installer scripts to contrib/wix
Steve Borho <steve@borho.org>
parents:
diff
changeset
|
54 |
|
41926
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
55 |
When changing behavior of the WiX installer, be sure to notify |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
56 |
the TortoiseHG Project of the changes so they have ample time |
4371f543efda
wix: functionality to automate building WiX installers
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41925
diff
changeset
|
57 |
provide feedback and react to those changes. |