Adapt to upstream WiX installer changes
Created originally on Bitbucket by indygreg (Gregory Szorc)
I'm attempting to shore up the building of WiX installers upstream by introducing code in the Mercurial core repository to automate the process. The end goal is to facilitate easier generation and testing of the MSI installers.
As part of this work, some details of the upstream repository are changing.
Most notably WiX files are moving from contrib/wix
to contrib/packaging/wix
: https://phab.mercurial-scm.org/D6096.
We are also establishing a script and Python library code for automating the building of the MSI installers: https://phab.mercurial-scm.org/D6097. A lot of this code is shared with the Inno Setup installer (by design).
You may also be interested in https://phab.mercurial-scm.org/D6092, which should remove the need for a setup.cfg
file.
I based the WiX code on what I found in this repository and have reasonable confidence that functionality is similar (for the plain Mercurial MSIs at least).
I think things are implemented in such a way that the code in this repository can simply call out to contrib/packaging/wix/build.py
and things will just work. In the worst case, you'd need to import the hgpackaging.wix
module directly and call functions there. But I wouldn't at all be surprised if you need more flexibility than what is currently provided.
I don't want to overly disrupt TortoiseHG. So if you let me know what further options you need to seamlessly hook into upstream's new automated WiX installer builder, I'll try to get those implemented upstream to make your lives easier. I'm also not opposed to moving more of TortoiseHG's packaging code into the upstream repository. But that's my personal opinion - I'm not sure what technical or non-technical issues may stand in the way. The way I see it, the easier it is to make packaging work from the upstream repository, the easier it will be to change and test the installers and packaged builds.