contrib/packaging/wix/mercurial.wxs
author Gregory Szorc <gregory.szorc@gmail.com>
Thu, 06 May 2021 16:03:43 -0700
changeset 47205 603efb3845ba
parent 46819 d4ba4d51f85f
child 49169 06107198f95b
permissions -rw-r--r--
pyoxidizer: support producing MSI installers Newer versions of PyOxidizer have support for building WiX MSI installers "natively." Essentially, you can script the definition of your WiX installer via Starlark and PyOxidizer can invoke WiX tools to produce the installer. This commit teaches our PyOxidizer config file to produce MSI installers similarly to how `contrib/packaging/packging.py wix` would do it. We had to make a very minor change to `mercurial.wxs` to reflect different paths depending on who builds. This is because when PyOxidizer builds WiX installers, it does so from an isolated directory, not Mercurial's source directory. We simply copy the files into the build environment so they are accessible. After this change, running `pyoxidizer build msi` produces a nearly identical install layout to what the previous method produces. When I applied this series on top of the 5.8 tag, here is the list of differences and explanations: * docs/*.html files are missing from the new installer because the Python build environment doesn't have docutils. * .pyd and .exe files differ, likely because I'm using a different Visual Studio toolchain on my local computer than the official build environment. * Various .dist-info/ directories have different names. This is because older versions of PyOxidizer had buggy behavior and weren't properly normalizing package names in .dist-info/ directories. e.g. we went from `cached-property-1.5.2.dist-info` to `cached_property-1.5.2.dist-info`. * Translations (.mo files) may be missing if gettext isn't in %Path%. This is because the packaging.py code installs gettext and ensures it can be found. * Some *.dist-info/RECORD files vary due to SHA-256 content digest divergence due to build environment differences. (This should be harmless.) * The new install layout ships a python3.dll because newer versions of PyOxidizer ship this file. * The new install layout has a different vcruntime140.dll and also a vcruntime140_1.dll because newer versions of PyOxidizer ship a newer version of the Visual C++ Redistributable Runtime. The new PyOxidizer functionality is not yet integrated with packaging.py. This will come in a subsequent commit. So for now, the new functionality introduced here is unused. Differential Revision: https://phab.mercurial-scm.org/D10683
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
     1
<?xml version='1.0' encoding='windows-1252'?>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
     2
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
     3
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
     4
  <!-- Copyright 2010 Steve Borho <steve@borho.org>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
     5
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
     6
  This software may be used and distributed according to the terms of the
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
     7
  GNU General Public License version 2 or any later version. -->
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
     8
10930
230ab9a23594 wix updates
Adrian Buehlmann <adrian@cadifra.com>
parents: 10828
diff changeset
     9
  <?include guids.wxi ?>
13042
bd9bc4123920 wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents: 13041
diff changeset
    10
  <?include defines.wxi ?>
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    11
13041
79388a8325dc wix: switch Mercurial Windows installer to use py2exe --bundle 3
Steve Borho <steve@borho.org>
parents: 10930
diff changeset
    12
  <?if $(var.Platform) = "x64" ?>
13042
bd9bc4123920 wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents: 13041
diff changeset
    13
    <?define PFolder = ProgramFiles64Folder ?>
13041
79388a8325dc wix: switch Mercurial Windows installer to use py2exe --bundle 3
Steve Borho <steve@borho.org>
parents: 10930
diff changeset
    14
  <?else?>
13042
bd9bc4123920 wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents: 13041
diff changeset
    15
    <?define PFolder = ProgramFilesFolder ?>
13041
79388a8325dc wix: switch Mercurial Windows installer to use py2exe --bundle 3
Steve Borho <steve@borho.org>
parents: 10930
diff changeset
    16
  <?endif?>
79388a8325dc wix: switch Mercurial Windows installer to use py2exe --bundle 3
Steve Borho <steve@borho.org>
parents: 10930
diff changeset
    17
10930
230ab9a23594 wix updates
Adrian Buehlmann <adrian@cadifra.com>
parents: 10828
diff changeset
    18
  <Product Id='*'
19023
86531a7038ed codingstyle: remove trailing spaces in various text files
Mads Kiilerich <madski@unity3d.com>
parents: 13563
diff changeset
    19
    Name='Mercurial $(var.Version) ($(var.Platform))'
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    20
    UpgradeCode='$(var.ProductUpgradeCode)'
10930
230ab9a23594 wix updates
Adrian Buehlmann <adrian@cadifra.com>
parents: 10828
diff changeset
    21
    Language='1033' Codepage='1252' Version='$(var.Version)'
46819
d4ba4d51f85f contributor: change mentions of mpm to olivia
Raphaël Gomès <rgomes@octobus.net>
parents: 46415
diff changeset
    22
    Manufacturer='Olivia Mackall and others'>
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    23
10930
230ab9a23594 wix updates
Adrian Buehlmann <adrian@cadifra.com>
parents: 10828
diff changeset
    24
    <Package Id='*'
230ab9a23594 wix updates
Adrian Buehlmann <adrian@cadifra.com>
parents: 10828
diff changeset
    25
      Keywords='Installer'
230ab9a23594 wix updates
Adrian Buehlmann <adrian@cadifra.com>
parents: 10828
diff changeset
    26
      Description="Mercurial distributed SCM (version $(var.Version))"
230ab9a23594 wix updates
Adrian Buehlmann <adrian@cadifra.com>
parents: 10828
diff changeset
    27
      Comments='$(var.Comments)'
13042
bd9bc4123920 wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents: 13041
diff changeset
    28
      Platform='$(var.Platform)'
46819
d4ba4d51f85f contributor: change mentions of mpm to olivia
Raphaël Gomès <rgomes@octobus.net>
parents: 46415
diff changeset
    29
      Manufacturer='Olivia Mackall and others'
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    30
      InstallerVersion='300' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    31
10930
230ab9a23594 wix updates
Adrian Buehlmann <adrian@cadifra.com>
parents: 10828
diff changeset
    32
    <Media Id='1' Cabinet='mercurial.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1'
230ab9a23594 wix updates
Adrian Buehlmann <adrian@cadifra.com>
parents: 10828
diff changeset
    33
           CompressionLevel='high' />
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    34
    <Property Id='DiskPrompt' Value="Mercurial $(var.Version) Installation [1]" />
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    35
13042
bd9bc4123920 wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents: 13041
diff changeset
    36
    <Condition Message='Mercurial MSI installers require Windows XP or higher'>
bd9bc4123920 wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents: 13041
diff changeset
    37
        VersionNT >= 501
bd9bc4123920 wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents: 13041
diff changeset
    38
    </Condition>
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    39
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    40
    <Property Id="INSTALLDIR">
10930
230ab9a23594 wix updates
Adrian Buehlmann <adrian@cadifra.com>
parents: 10828
diff changeset
    41
      <ComponentSearch Id='SearchForMainExecutableComponent'
46415
8deab876fb59 wix: tell ComponentSearch that it is finding a directory (not a file)
Kyle Lippincott <spectral@google.com>
parents: 44767
diff changeset
    42
                       Guid='$(var.ComponentMainExecutableGUID)'
8deab876fb59 wix: tell ComponentSearch that it is finding a directory (not a file)
Kyle Lippincott <spectral@google.com>
parents: 44767
diff changeset
    43
                       Type='directory' />
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    44
    </Property>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    45
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    46
    <!--Property Id='ARPCOMMENTS'>any comments</Property-->
30888
561a019c0268 misc: replace domain of mercurial ML address by mercurial-scm.org
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27684
diff changeset
    47
    <Property Id='ARPCONTACT'>mercurial@mercurial-scm.org</Property>
26421
4b0fc75f9403 urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents: 25409
diff changeset
    48
    <Property Id='ARPHELPLINK'>https://mercurial-scm.org/wiki/</Property>
4b0fc75f9403 urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents: 25409
diff changeset
    49
    <Property Id='ARPURLINFOABOUT'>https://mercurial-scm.org/about/</Property>
4b0fc75f9403 urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents: 25409
diff changeset
    50
    <Property Id='ARPURLUPDATEINFO'>https://mercurial-scm.org/downloads/</Property>
4b0fc75f9403 urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents: 25409
diff changeset
    51
    <Property Id='ARPHELPTELEPHONE'>https://mercurial-scm.org/wiki/Support</Property>
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    52
    <Property Id='ARPPRODUCTICON'>hgIcon.ico</Property>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    53
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    54
    <Property Id='INSTALLEDMERCURIALPRODUCTS' Secure='yes'></Property>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    55
    <Property Id='REINSTALLMODE'>amus</Property>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    56
10610
eea2db5f56ba wix: pre-check the 'I approve this license' checkbox
Steve Borho <steve@borho.org>
parents: 10552
diff changeset
    57
    <!--Auto-accept the license page-->
eea2db5f56ba wix: pre-check the 'I approve this license' checkbox
Steve Borho <steve@borho.org>
parents: 10552
diff changeset
    58
    <Property Id='LicenseAccepted'>1</Property>
eea2db5f56ba wix: pre-check the 'I approve this license' checkbox
Steve Borho <steve@borho.org>
parents: 10552
diff changeset
    59
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    60
    <Directory Id='TARGETDIR' Name='SourceDir'>
13042
bd9bc4123920 wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents: 13041
diff changeset
    61
      <Directory Id='$(var.PFolder)' Name='PFiles'>
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    62
        <Directory Id='INSTALLDIR' Name='Mercurial'>
13042
bd9bc4123920 wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents: 13041
diff changeset
    63
          <Component Id='MainExecutable' Guid='$(var.ComponentMainExecutableGUID)' Win64='$(var.IsX64)'>
43623
94eac340d212 packaging: stage files and dynamically generate WiX installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43610
diff changeset
    64
            <CreateFolder />
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    65
            <Environment Id="Environment" Name="PATH" Part="last" System="yes"
13563
391948925b67 wix: drop bin/ folder from MSI installers (issue 2673)
Steve Borho <steve@borho.org>
parents: 13216
diff changeset
    66
                         Permanent="no" Value="[INSTALLDIR]" Action="set" />
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    67
          </Component>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    68
        </Directory>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    69
      </Directory>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    70
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    71
      <Directory Id="ProgramMenuFolder" Name="Programs">
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    72
        <Directory Id="ProgramMenuDir" Name="Mercurial $(var.Version)">
13042
bd9bc4123920 wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents: 13041
diff changeset
    73
          <Component Id="ProgramMenuDir" Guid="$(var.ProgramMenuDir.guid)" Win64='$(var.IsX64)'>
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    74
            <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    75
            <RegistryValue Root='HKCU' Key='Software\Mercurial\InstallDir' Type='string'
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    76
                           Value='[INSTALLDIR]' KeyPath='yes' />
10930
230ab9a23594 wix updates
Adrian Buehlmann <adrian@cadifra.com>
parents: 10828
diff changeset
    77
            <Shortcut Id='UrlShortcut' Directory='ProgramMenuDir' Name='Mercurial Web Site'
230ab9a23594 wix updates
Adrian Buehlmann <adrian@cadifra.com>
parents: 10828
diff changeset
    78
                      Target='[ARPHELPLINK]' Icon="hgIcon.ico" IconIndex='0' />
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    79
          </Component>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    80
        </Directory>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    81
      </Directory>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    82
44767
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    83
      <!-- Install VCRedist merge modules on Python 2. On Python 3,
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    84
           vcruntimeXXX.dll is part of the install layout and gets picked up
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    85
           as a regular file. -->
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    86
      <?if $(var.PythonVersion) = "2" ?>
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    87
        <?if $(var.Platform) = "x86" ?>
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    88
          <Merge Id='VCRuntime' DiskId='1' Language='1033'
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    89
                SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x86_msm.msm' />
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    90
          <Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    91
                SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x86_msm.msm' />
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    92
        <?else?>
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    93
          <Merge Id='VCRuntime' DiskId='1' Language='1033'
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    94
                SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x64_msm.msm' />
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    95
          <Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    96
                SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x64_msm.msm' />
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
    97
        <?endif?>
13042
bd9bc4123920 wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents: 13041
diff changeset
    98
      <?endif?>
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
    99
    </Directory>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   100
10733
e26102c40e2e wix: don't show version in title of root feature
Adrian Buehlmann <adrian@cadifra.com>
parents: 10732
diff changeset
   101
    <Feature Id='Complete' Title='Mercurial' Description='The complete package'
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   102
        Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR' >
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   103
      <Feature Id='MainProgram' Title='Program' Description='Mercurial command line app'
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   104
             Level='1' Absent='disallow' >
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   105
        <ComponentRef Id='MainExecutable' />
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   106
        <ComponentRef Id='ProgramMenuDir' />
43623
94eac340d212 packaging: stage files and dynamically generate WiX installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43610
diff changeset
   107
        <ComponentGroupRef Id="hg.group.ROOT" />
44153
e4344e463c0c packaging: rename hgrc.d to defaultrc for Windows config files next to the exe
Matt Harbison <matt_harbison@yahoo.com>
parents: 43749
diff changeset
   108
        <ComponentGroupRef Id="hg.group.defaultrc" />
43749
c7fc2d92067e windows: further build fixes for the WiX installer
Augie Fackler <augie@google.com>
parents: 43623
diff changeset
   109
        <ComponentGroupRef Id="hg.group.helptext" />
44767
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
   110
        <?ifdef MercurialHasLib?>
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
   111
          <ComponentGroupRef Id="hg.group.lib" />
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
   112
        <?endif?>
43623
94eac340d212 packaging: stage files and dynamically generate WiX installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43610
diff changeset
   113
        <ComponentGroupRef Id="hg.group.templates" />
44767
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
   114
        <?if $(var.PythonVersion) = "2" ?>
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
   115
          <MergeRef Id='VCRuntime' />
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
   116
          <MergeRef Id='VCRuntimePolicy' />
234882d17814 packaging: support building WiX installers with PyOxidizer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 44153
diff changeset
   117
        <?endif?>
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   118
      </Feature>
42053
429bed755ce1 wix: fix the package build when not adding features
Augie Fackler <augie@google.com>
parents: 42049
diff changeset
   119
      <?ifdef MercurialExtraFeatures?>
42049
1711f5813a63 wix: add functionality to inject additional Features into installer
Augie Fackler <raf@durin42.com>
parents: 41920
diff changeset
   120
        <?foreach EXTRAFEAT in $(var.MercurialExtraFeatures)?>
1711f5813a63 wix: add functionality to inject additional Features into installer
Augie Fackler <raf@durin42.com>
parents: 41920
diff changeset
   121
          <FeatureRef Id="$(var.EXTRAFEAT)" />
1711f5813a63 wix: add functionality to inject additional Features into installer
Augie Fackler <raf@durin42.com>
parents: 41920
diff changeset
   122
        <?endforeach?>
1711f5813a63 wix: add functionality to inject additional Features into installer
Augie Fackler <raf@durin42.com>
parents: 41920
diff changeset
   123
      <?endif?>
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   124
      <Feature Id='Locales' Title='Translations' Description='Translations' Level='1'>
43623
94eac340d212 packaging: stage files and dynamically generate WiX installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43610
diff changeset
   125
        <ComponentGroupRef Id="hg.group.locale" />
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   126
      </Feature>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   127
      <Feature Id='Documentation' Title='Documentation' Description='HTML man pages' Level='1'>
43623
94eac340d212 packaging: stage files and dynamically generate WiX installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43610
diff changeset
   128
        <ComponentGroupRef Id="hg.group.doc" />
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   129
      </Feature>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   130
      <Feature Id='Misc' Title='Miscellaneous' Description='Contributed scripts' Level='1'>
43623
94eac340d212 packaging: stage files and dynamically generate WiX installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43610
diff changeset
   131
        <ComponentGroupRef Id="hg.group.contrib" />
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   132
      </Feature>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   133
    </Feature>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   134
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   135
    <UIRef Id="WixUI_FeatureTree" />
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   136
    <UIRef Id="WixUI_ErrorProgressText" />
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   137
47205
603efb3845ba pyoxidizer: support producing MSI installers
Gregory Szorc <gregory.szorc@gmail.com>
parents: 46819
diff changeset
   138
    <?ifdef PyOxidizer?>
603efb3845ba pyoxidizer: support producing MSI installers
Gregory Szorc <gregory.szorc@gmail.com>
parents: 46819
diff changeset
   139
    <WixVariable Id="WixUILicenseRtf" Value="COPYING.rtf" />
603efb3845ba pyoxidizer: support producing MSI installers
Gregory Szorc <gregory.szorc@gmail.com>
parents: 46819
diff changeset
   140
    <Icon Id="hgIcon.ico" SourceFile="mercurial.ico" />
603efb3845ba pyoxidizer: support producing MSI installers
Gregory Szorc <gregory.szorc@gmail.com>
parents: 46819
diff changeset
   141
    <?else?>
41920
c68a1df5c79a wix: move contrib/wix to contrib/packaging/wix
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30888
diff changeset
   142
    <WixVariable Id="WixUILicenseRtf" Value="contrib\packaging\wix\COPYING.rtf" />
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   143
    <Icon Id="hgIcon.ico" SourceFile="contrib/win32/mercurial.ico" />
47205
603efb3845ba pyoxidizer: support producing MSI installers
Gregory Szorc <gregory.szorc@gmail.com>
parents: 46819
diff changeset
   144
    <?endif?>
10513
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   145
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   146
    <Upgrade Id='$(var.ProductUpgradeCode)'>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   147
      <UpgradeVersion
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   148
        IncludeMinimum='yes' Minimum='0.0.0' IncludeMaximum='no' OnlyDetect='no'
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   149
        Property='INSTALLEDMERCURIALPRODUCTS' />
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   150
    </Upgrade>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   151
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   152
    <InstallExecuteSequence>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   153
      <RemoveExistingProducts After='InstallInitialize'/>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   154
    </InstallExecuteSequence>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   155
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   156
  </Product>
47838dee7d60 contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents: 10502
diff changeset
   157
</Wix>