contrib/wix/mercurial.wxs
branchstable
changeset 42146 4a8d9ed86475
parent 41984 d1c33b2442a7
parent 42143 29569f2db929
child 42147 807a6ca6d096
equal deleted inserted replaced
41984:d1c33b2442a7 42146:4a8d9ed86475
     1 <?xml version='1.0' encoding='windows-1252'?>
       
     2 <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
       
     3 
       
     4   <!-- Copyright 2010 Steve Borho <steve@borho.org>
       
     5 
       
     6   This software may be used and distributed according to the terms of the
       
     7   GNU General Public License version 2 or any later version. -->
       
     8 
       
     9   <?include guids.wxi ?>
       
    10   <?include defines.wxi ?>
       
    11 
       
    12   <?if $(var.Platform) = "x64" ?>
       
    13     <?define PFolder = ProgramFiles64Folder ?>
       
    14   <?else?>
       
    15     <?define PFolder = ProgramFilesFolder ?>
       
    16   <?endif?>
       
    17 
       
    18   <Product Id='*'
       
    19     Name='Mercurial $(var.Version) ($(var.Platform))'
       
    20     UpgradeCode='$(var.ProductUpgradeCode)'
       
    21     Language='1033' Codepage='1252' Version='$(var.Version)'
       
    22     Manufacturer='Matt Mackall and others'>
       
    23 
       
    24     <Package Id='*'
       
    25       Keywords='Installer'
       
    26       Description="Mercurial distributed SCM (version $(var.Version))"
       
    27       Comments='$(var.Comments)'
       
    28       Platform='$(var.Platform)'
       
    29       Manufacturer='Matt Mackall and others'
       
    30       InstallerVersion='300' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
       
    31 
       
    32     <Media Id='1' Cabinet='mercurial.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1'
       
    33            CompressionLevel='high' />
       
    34     <Property Id='DiskPrompt' Value="Mercurial $(var.Version) Installation [1]" />
       
    35 
       
    36     <Condition Message='Mercurial MSI installers require Windows XP or higher'>
       
    37         VersionNT >= 501
       
    38     </Condition>
       
    39 
       
    40     <Property Id="INSTALLDIR">
       
    41       <ComponentSearch Id='SearchForMainExecutableComponent'
       
    42                        Guid='$(var.ComponentMainExecutableGUID)' />
       
    43     </Property>
       
    44 
       
    45     <!--Property Id='ARPCOMMENTS'>any comments</Property-->
       
    46     <Property Id='ARPCONTACT'>mercurial@mercurial-scm.org</Property>
       
    47     <Property Id='ARPHELPLINK'>https://mercurial-scm.org/wiki/</Property>
       
    48     <Property Id='ARPURLINFOABOUT'>https://mercurial-scm.org/about/</Property>
       
    49     <Property Id='ARPURLUPDATEINFO'>https://mercurial-scm.org/downloads/</Property>
       
    50     <Property Id='ARPHELPTELEPHONE'>https://mercurial-scm.org/wiki/Support</Property>
       
    51     <Property Id='ARPPRODUCTICON'>hgIcon.ico</Property>
       
    52 
       
    53     <Property Id='INSTALLEDMERCURIALPRODUCTS' Secure='yes'></Property>
       
    54     <Property Id='REINSTALLMODE'>amus</Property>
       
    55 
       
    56     <!--Auto-accept the license page-->
       
    57     <Property Id='LicenseAccepted'>1</Property>
       
    58 
       
    59     <Directory Id='TARGETDIR' Name='SourceDir'>
       
    60       <Directory Id='$(var.PFolder)' Name='PFiles'>
       
    61         <Directory Id='INSTALLDIR' Name='Mercurial'>
       
    62           <Component Id='MainExecutable' Guid='$(var.ComponentMainExecutableGUID)' Win64='$(var.IsX64)'>
       
    63             <File Id='hgEXE' Name='hg.exe' Source='dist\hg.exe' KeyPath='yes' />
       
    64             <Environment Id="Environment" Name="PATH" Part="last" System="yes"
       
    65                          Permanent="no" Value="[INSTALLDIR]" Action="set" />
       
    66           </Component>
       
    67           <Component Id='ReadMe' Guid='$(var.ReadMe.guid)' Win64='$(var.IsX64)'>
       
    68               <File Id='ReadMe' Name='ReadMe.html' Source='contrib\win32\ReadMe.html'
       
    69                     KeyPath='yes'/>
       
    70           </Component>
       
    71           <Component Id='COPYING' Guid='$(var.COPYING.guid)' Win64='$(var.IsX64)'>
       
    72             <File Id='COPYING' Name='COPYING.rtf' Source='contrib\wix\COPYING.rtf'
       
    73                   KeyPath='yes'/>
       
    74           </Component>
       
    75 
       
    76           <Directory Id='HGRCD' Name='hgrc.d'>
       
    77             <Component Id='mercurial.rc' Guid='$(var.mercurial.rc.guid)' Win64='$(var.IsX64)'>
       
    78               <File Id='mercurial.rc' Name='Mercurial.rc' Source='contrib\win32\mercurial.ini'
       
    79                     ReadOnly='yes' KeyPath='yes'/>
       
    80             </Component>
       
    81             <Component Id='mergetools.rc' Guid='$(var.mergetools.rc.guid)' Win64='$(var.IsX64)'>
       
    82               <File Id='mergetools.rc' Name='MergeTools.rc' Source='mercurial\default.d\mergetools.rc'
       
    83                     ReadOnly='yes' KeyPath='yes'/>
       
    84             </Component>
       
    85           </Directory>
       
    86 
       
    87         </Directory>
       
    88       </Directory>
       
    89 
       
    90       <Directory Id="ProgramMenuFolder" Name="Programs">
       
    91         <Directory Id="ProgramMenuDir" Name="Mercurial $(var.Version)">
       
    92           <Component Id="ProgramMenuDir" Guid="$(var.ProgramMenuDir.guid)" Win64='$(var.IsX64)'>
       
    93             <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
       
    94             <RegistryValue Root='HKCU' Key='Software\Mercurial\InstallDir' Type='string'
       
    95                            Value='[INSTALLDIR]' KeyPath='yes' />
       
    96             <Shortcut Id='UrlShortcut' Directory='ProgramMenuDir' Name='Mercurial Web Site'
       
    97                       Target='[ARPHELPLINK]' Icon="hgIcon.ico" IconIndex='0' />
       
    98           </Component>
       
    99         </Directory>
       
   100       </Directory>
       
   101 
       
   102       <?if $(var.Platform) = "x86" ?>
       
   103         <Merge Id='VCRuntime' DiskId='1' Language='1033'
       
   104               SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x86_msm.msm' />
       
   105         <Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
       
   106               SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x86_msm.msm' />
       
   107       <?else?>
       
   108         <Merge Id='VCRuntime' DiskId='1' Language='1033'
       
   109               SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x64_msm.msm' />
       
   110         <Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
       
   111               SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x64_msm.msm' />
       
   112       <?endif?>
       
   113     </Directory>
       
   114 
       
   115     <Feature Id='Complete' Title='Mercurial' Description='The complete package'
       
   116         Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR' >
       
   117       <Feature Id='MainProgram' Title='Program' Description='Mercurial command line app'
       
   118              Level='1' Absent='disallow' >
       
   119         <ComponentRef Id='MainExecutable' />
       
   120         <ComponentRef Id='distOutput' />
       
   121         <ComponentRef Id='libOutput' />
       
   122         <ComponentRef Id='ProgramMenuDir' />
       
   123         <ComponentRef Id='ReadMe' />
       
   124         <ComponentRef Id='COPYING' />
       
   125         <ComponentRef Id='mercurial.rc' />
       
   126         <ComponentRef Id='mergetools.rc' />
       
   127         <ComponentGroupRef Id='helpFolder' />
       
   128         <ComponentGroupRef Id='templatesFolder' />
       
   129         <MergeRef Id='VCRuntime' />
       
   130         <MergeRef Id='VCRuntimePolicy' />
       
   131       </Feature>
       
   132       <Feature Id='Locales' Title='Translations' Description='Translations' Level='1'>
       
   133         <ComponentGroupRef Id='localeFolder' />
       
   134         <ComponentRef Id='i18nFolder' />
       
   135       </Feature>
       
   136       <Feature Id='Documentation' Title='Documentation' Description='HTML man pages' Level='1'>
       
   137         <ComponentGroupRef Id='docFolder' />
       
   138       </Feature>
       
   139       <Feature Id='Misc' Title='Miscellaneous' Description='Contributed scripts' Level='1'>
       
   140         <ComponentGroupRef Id='contribFolder' />
       
   141       </Feature>
       
   142     </Feature>
       
   143 
       
   144     <UIRef Id="WixUI_FeatureTree" />
       
   145     <UIRef Id="WixUI_ErrorProgressText" />
       
   146 
       
   147     <WixVariable Id="WixUILicenseRtf" Value="contrib\wix\COPYING.rtf" />
       
   148 
       
   149     <Icon Id="hgIcon.ico" SourceFile="contrib/win32/mercurial.ico" />
       
   150 
       
   151     <Upgrade Id='$(var.ProductUpgradeCode)'>
       
   152       <UpgradeVersion
       
   153         IncludeMinimum='yes' Minimum='0.0.0' IncludeMaximum='no' OnlyDetect='no'
       
   154         Property='INSTALLEDMERCURIALPRODUCTS' />
       
   155     </Upgrade>
       
   156 
       
   157     <InstallExecuteSequence>
       
   158       <RemoveExistingProducts After='InstallInitialize'/>
       
   159     </InstallExecuteSequence>
       
   160 
       
   161   </Product>
       
   162 </Wix>