|
<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<!-- Copyright 2010 Steve Borho <steve@borho.org>
This software may be used and distributed according to the terms of the
GNU General Public License version 2 or any later version. -->
<?define ComponentMainExecutableGUID = 5A98EB92-2C82-406E-81A5-1161CA87ED8E ?>
<?define ProductUpgradeCode = 838657CF-C9EC-452D-800D-0E70FC021D0A ?>
<?if $(var.Platform) = "x64" ?>
<?define IsX64 = yes ?>
<?else?>
<?define IsX64 = no ?>
<?endif?>
<?define TOverlaysVersion = 1.0.15.18898 ?>
<?define TOverlaysSrcDir = ..\contrib\TortoiseOverlays ?>
<?define TOverlaysSrcFilenameX86 = TortoiseOverlays-$(var.TOverlaysVersion)-win32.msm ?>
<?define TOverlaysSrcFilenameX64 = TortoiseOverlays-$(var.TOverlaysVersion)-x64.msm ?>
<?define TOverlaysRegistryKey = Software\TortoiseOverlays ?>
<?define VCRedistSrcDir = C:\Program Files\Microsoft SDKs\Windows\v7.0\Redist\VC ?>
<!-- shell extension CLSID's -->
<?include ../../win32/shellext/ThgCLSIDs.wxi ?>
<?define OverlayCLSIDList =
$(var.CLSID_TortoiseHgNormal);$(var.CLSID_TortoiseHgAdded);$(var.CLSID_TortoiseHgModified);$(var.CLSID_TortoiseHgUnversioned)
?>
<Product Name='TortoiseHg $(var.Version) ($(var.Platform))'
Id='$(var.ProductId)'
Version='$(var.Version)'
UpgradeCode='$(var.ProductUpgradeCode)'
Language='1033' Codepage='1252'
Manufacturer='Steve Borho and others.'>
<Package Id='*' Keywords='Installer'
Description="Windows shell extension for Mercurial DVCS (version $(var.Version))"
Manufacturer='Steve Borho and others.'
InstallerVersion='300' Languages='1033' Compressed='yes'
SummaryCodepage='1252' Platform='$(var.Platform)'
Comments='$(var.Comments)'
/>
<Media Id='1' Cabinet='tortoisehg.cab' EmbedCab='yes' CompressionLevel='high'
DiskPrompt='CD-ROM #1'
/>
<Property Id='DiskPrompt' Value="TortoiseHg $(var.Version) Installation [1]" />
<Property Id='INSTALLDIR'>
<ComponentSearch Id='SearchForMainExecutableComponent'
Guid='$(var.ComponentMainExecutableGUID)'
/>
</Property>
<Property Id='INNOSETUPINSTALL'>
<RegistrySearch
Id='SearchForOldInnoSetupTortoiseHg' Win64='$(var.IsX64)'
Root='HKLM'
Key='SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\TortoiseHg_is1'
Type='directory'
Name='InstallLocation'
/>
</Property>
<?if $(var.Platform) = "x86" ?>
<Condition Message =
"The x86 installer may not be used on a x64 platform"
>NOT VersionNT64
</Condition>
<?endif?>
<Condition Message =
"Backup your user Mercurial.ini file, then uninstall [INNOSETUPINSTALL] before installing this package."
>Installed OR NOT INNOSETUPINSTALL
</Condition>
<Condition Message=
'TortoiseHg requires Windows XP or higher'
>VersionNT >= 501
</Condition>
<!--Property Id='ARPCOMMENTS'>any comments</Property-->
<Property Id='ARPCONTACT'>tortoisehg-discuss@lists.sourceforge.net</Property>
<Property Id='ARPHELPLINK'>http://tortoisehg.org/</Property>
<Property Id='ARPURLINFOABOUT'>http://tortoisehg.org/about.html</Property>
<Property Id='ARPURLUPDATEINFO'>http://tortoisehg.org/</Property>
<Property Id='ARPHELPTELEPHONE'>http://mercurial.selenic.com/wiki/Support</Property>
<Property Id='ARPPRODUCTICON'>thgIcon.ico</Property>
<Property Id='INSTALLEDTORTOISEHGPRODUCTS' Secure='yes'></Property>
<Property Id='REINSTALLMODE'>amus</Property>
<!--Auto-accept the license page-->
<Property Id='LicenseAccepted'>1</Property>
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id='ProgramFilesFolder' Name='PFiles'>
<Directory Id='INSTALLDIR' Name='TortoiseHg'>
<Component Id='MainExecutable' Guid='$(var.ComponentMainExecutableGUID)'>
<File Id='hgtkEXE' Name='hgtk.exe' DiskId='1' KeyPath='yes'
Source='dist\hgtk.exe'
/>
<File Id='hgEXE' Name='hg.exe' DiskId='1'
Source='dist\hg.exe'
/>
<File Id='libraryZIP' Name='library.zip' DiskId='1'
Source='dist\library.zip'
/>
<File Id='pythonDLL' Name='python26.dll' DiskId='1'
Source='dist\python26.dll'
/>
<Environment Id="Environment" Name="PATH" Part="last" System="yes"
Permanent="no" Value="[INSTALLDIR]" Action="set"
/>
</Component>
<Component Id='ExtensionVersions' Guid='1996AB0D-634D-4DC8-9581-326151F38B11'>
<File Id='ExtensionVersions' Name='extension-versions.txt'
DiskId='1' KeyPath='yes'
Source='..\extension-versions.txt'
/>
</Component>
<Component Id='thgtaskbarEXE' Guid='BEF92F4D-4442-4806-8C59-DC8BDCCCADD3'>
<File Id='thgtaskbarEXE' Name='thgtaskbar.exe' DiskId='1' KeyPath='yes'
Source='dist\thgtaskbar.exe' >
<Shortcut Id="taskBarShortcut" Directory="ProgramMenuDir"
Name="Taskbar Application"
Icon="thgIcon.ico" IconIndex="0" Advertise="yes"
/>
</File>
<RegistryValue
Name='TortoiseHgRpcServer'
Root='HKMU' Key='Software\Microsoft\Windows\CurrentVersion\Run'
Type='string' Value='[INSTALLDIR]thgtaskbar.exe'
/>
</Component>
<Component Id='thgshellx86dll' Guid='1126CF42-3994-428B-A746-464E1BC680F3'>
<File Id='thgshellx86dll' Name='ThgShellx86.dll' DiskId='1' KeyPath='yes'
Source='win32\ThgShellx86.dll'
/>
<RegistryValue
Root='HKMU' Key='Software\TortoiseHg'
Type='string' Value='[INSTALLDIR]'
/>
<RegistryValue
Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgCmenu)\InProcServer32'
Type='string' Value='[INSTALLDIR]ThgShellx86.dll'
/>
<?foreach CLSID in $(var.OverlayCLSIDList) ?>
<RegistryValue
Root='HKCR' Key='CLSID\$(var.CLSID)\InProcServer32'
Type='string' Value='[INSTALLDIR]ThgShellx86.dll'
/>
<?endforeach?>
<?include shell-register.wxi ?>
</Component>
<Component Id='COPYING' Guid='382A8405-CB7B-42E8-8B9D-88B5C5283E73'>
<File Id='COPYING' Name='COPYING.txt' DiskId='1'
Source='COPYING.txt'
/>
</Component>
<Component Id='docdiffEXE' Guid='4BA6389A-6A0B-483B-A3FE-86EE436FDD31'>
<File Id='docdiffEXE' Name='docdiff.exe' DiskId='1' KeyPath='yes'
Source='dist\docdiff.exe'
/>
</Component>
<Component Id='KDiff3EXE' Guid='B2A5EFD4-A385-45E0-8467-46B955979672'>
<File Id='KDiff3EXE' Name='kdiff3.exe' DiskId='1' KeyPath='yes'
Source='..\contrib\kdiff3.exe'
/>
</Component>
<Component Id='TortoisePlinkEXE' Guid='A18BFE4D-BED0-4EF9-97CC-5B4326E3CD2F'>
<File Id='TortoisePlinkEXE' Name='TortoisePlink.exe' DiskId='1' KeyPath='yes'
Source='..\contrib\TortoisePlink.exe'
/>
</Component>
<Component Id='PageantEXE' Guid='EA7EF381-076C-47CE-8F51-355DB7F86D1A'>
<File Id='PageantEXE' Name='Pageant.exe' DiskId='1' KeyPath='yes'
Source='..\contrib\Pageant.exe'
/>
</Component>
<Directory Id='docFolder' Name='doc'>
<Component Id='chmFile' Guid='A26038DC-C686-4296-9335-FA4B9ABC769C'>
<File Id='chmFile' Name='TortoiseHg.chm' DiskId='1' KeyPath='yes'
Source='doc\build\chm\TortoiseHg.chm' >
<Shortcut Id="chmStartMenu" Directory="ProgramMenuDir"
Name="TortoiseHg Manual (CHM)"
Icon="thgIcon.ico" IconIndex="0" Advertise="yes"
/>
</File>
</Component>
<Component Id='pdfFile' Guid='1C5792DA-C48F-4F7F-9CD8-FC467995B8E4'>
<File Id='pdfFile' Name='TortoiseHg.pdf' DiskId='1' KeyPath='yes'
Source='doc\build\pdf\TortoiseHg.pdf'>
<Shortcut Id="pdfStartMenu" Directory="ProgramMenuDir"
Name="TortoiseHg Manual (PDF)"
Icon="thgIcon.ico" IconIndex="0" Advertise="yes"
/>
</File>
</Component>
<Component Id='hgbook' Guid='A5F6D094-BCFD-4AC0-8675-7DF8CC94FEE5'>
<File Id='hgbook' Name='hgbook.pdf' DiskId='1' KeyPath='yes'
Source='..\misc\hgbook.pdf'>
<Shortcut Id="hgbookStartMenu" Directory="ProgramMenuDir"
Name="Mercurial - The Definitive Guide (PDF)"
Icon="hgIcon.ico" IconIndex="0" Advertise="yes"
/>
</File>
</Component>
</Directory>
<Directory Id='HGRCD' Name='hgrc.d'>
<Component Id='mercurial.rc' Guid='28ACE5D7-FFCE-488E-A94A-8F13A21DD25D'>
<File Id='mercurial.rc' Name='Mercurial.rc' DiskId='1' ReadOnly='yes'
Source='contrib\win32\mercurial.rc'
/>
</Component>
<Component Id='mergetools.rc' Guid='30CC047C-48B4-4D91-B8EC-79975327A9C7'>
<File Id='mergetools.rc' Name='MergeTools.rc' DiskId='1' ReadOnly='yes'
Source='contrib\mergetools.rc'
/>
</Component>
<Component Id="mergepatterns.rc" Guid="05860DA7-8391-43A4-A4E7-6E9E084D11C6">
<File Id='mergepatterns.rc' Name='MergePatterns.rc'
DiskId='1' ReadOnly='yes' KeyPath='yes'
Source='contrib\win32\mergepatterns.rc'
/>
</Component>
</Directory>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="ProgramMenuDir" Name="TortoiseHg $(var.Version)">
<Component Id="ProgramMenuDir" Guid="D5A63320-1238-489B-B68B-CF053E9577CA">
<RemoveFolder Id='ProgramMenuDir' On='uninstall' />
<RegistryValue
Root='HKCU' Key='Software\TortoiseHg'
Type='string' Value='[INSTALLDIR]' KeyPath='yes'
/>
<Shortcut Id='UrlShortcut' Directory='ProgramMenuDir' Name='TortoiseHg Web Site'
Target='[ARPHELPLINK]' Icon="thgIcon.ico" IconIndex='0' />
<!-- Shortcut Id="UninstallProduct" Name="Uninstall TortoiseHg"
Target="[System64Folder]msiexec.exe"
Arguments="/x [ProductCode]"
Description="Uninstalls TortoiseHg" /-->
</Component>
</Directory>
</Directory>
<!-- Directory Id="AppDataFolder" Name="AppData">
<Directory Id="ThgAppData" Name="TortoiseHg">
<Component Id="ThgAppData" Guid="94B8FBB5-4AE3-4960-B3D8-94BEFC6366E9">
<RemoveFolder Id='ThgAppData' On='uninstall' />
<RegistryValue Root='HKCU' Key='Software\TortoiseHg\AppData' KeyPath='yes' />
</Component>
</Directory>
</Directory -->
<Merge Id='VCRedist' DiskId='1' Language='1033'
SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x86_msm.msm'
/>
<Merge Id='VCRedistPolicy' DiskId='1' Language='1033'
SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x86_msm.msm'
/>
<Merge Id='TortoiseOverlaysMergeX86' Language='0' DiskId='1'
SourceFile='$(var.TOverlaysSrcDir)\$(var.TOverlaysSrcFilenameX86)'
/>
<?if $(var.Platform) = "x64" ?>
<Merge Id='TortoiseOverlaysMergeX64' Language='0' DiskId='1'
SourceFile='$(var.TOverlaysSrcDir)\$(var.TOverlaysSrcFilenameX64)'
/>
<Directory Id="CommonFiles64Folder" Name="Programs64" >
<Directory Id="Common64" Name="TortoiseHg" >
<Component Id='thgshellx64dll' Guid='59FD2A49-BA62-40CC-B155-D11DB11EE611' Win64='yes'>
<File Id='thgshellx64dll' Name='ThgShellx64.dll' DiskId='1' KeyPath='yes'
Source='win32\ThgShellx64.dll'
/>
<RegistryValue
Root='HKMU' Key='Software\TortoiseHg'
Type='string' Value='[INSTALLDIR]'
/>
<RegistryValue
Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgCmenu)\InProcServer32'
Type='string' Value='[Common64]ThgShellx64.dll'
/>
<?foreach CLSID in $(var.OverlayCLSIDList) ?>
<RegistryValue
Root='HKCR' Key='CLSID\$(var.CLSID)\InProcServer32'
Type='string' Value='[Common64]ThgShellx64.dll'
/>
<?endforeach?>
<?include shell-register.wxi ?>
</Component>
</Directory>
</Directory>
<?endif?>
</Directory>
<Feature Id='Complete' Title='TortoiseHg $(var.Version)'
Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR'
Description='The complete package' >
<Feature Id='MainProgram' Title='Program'
Level='1' Absent='disallow' Display='hidden'
Description='Command line applications: hg, hgtk' >
<ComponentRef Id='MainExecutable' />
<ComponentRef Id='ProgramMenuDir' />
<ComponentRef Id='COPYING' />
<ComponentRef Id='mercurial.rc' />
<ComponentRef Id='mergetools.rc' />
<ComponentRef Id='ExtensionVersions' />
<ComponentGroupRef Id='helpFolder' />
<ComponentGroupRef Id='templatesFolder' />
<ComponentGroupRef Id='gtkFolder' />
<ComponentGroupRef Id='iconsFolder' />
</Feature>
<Feature Id='VCRedist' Title='Visual C++ 9.0 Runtime'
AllowAdvertise='no' Display='hidden' Level='1'>
<MergeRef Id='VCRedist'/>
<MergeRef Id='VCRedistPolicy' />
</Feature>
<?if $(var.Platform) = "x86" ?>
<Feature Id='ShellExtension' Title='Shell Extension'
Level='1' AllowAdvertise='no'
Description='Overlay icons and context menu'>
<ComponentGroupRef Id='cmenuI18n' />
<ComponentRef Id='thgtaskbarEXE' />
<MergeRef Id='TortoiseOverlaysMergeX86' />
<ComponentRef Id='thgshellx86dll' />
</Feature>
<?elseif $(var.Platform) = "x64" ?>
<Feature Id='ShellExtension' Level='1' Display='expand' AllowAdvertise='no'
Title='Shell Extension x64'
Description='Overlay icons and context menu for 64 bit processes'>
<ComponentGroupRef Id='cmenuI18n' />
<ComponentRef Id='thgtaskbarEXE' />
<MergeRef Id='TortoiseOverlaysMergeX64' />
<ComponentRef Id='thgshellx64dll' />
<Feature Id='ShellExtensionx86' Level='1' AllowAdvertise='no'
Title='Shell Extension x86'
Description='Overlay icons and context menu for 32 bit processes'>
<MergeRef Id='TortoiseOverlaysMergeX86' />
<ComponentRef Id='thgshellx86dll' />
</Feature>
</Feature>
<?endif?>
<Feature Id='Locales' Level='1'
Title='Translations'
Description='Mercurial and TortoiseHg Translations'>
<ComponentGroupRef Id='localeFolder' />
<ComponentGroupRef Id='i18nFolder' />
<ComponentGroupRef Id='thgLocaleFolder' />
<ComponentGroupRef Id='thgI18nFolder' />
</Feature>
<Feature Id='ThgDocumentation' Level='1'
Title='Documentation'
Description='TortoiseHg Manual and HTML man pages'>
<Feature Id='CHM' Level='1'
Title='CHM'
Description='Compiled HTML'>
<ComponentRef Id='chmFile' />
</Feature>
<Feature Id='PDF' Level='1'
Title='PDF'
Description='Portable Document Format'>
<ComponentRef Id='pdfFile' />
</Feature>
<Feature Id='HgDocumentation' Level='1'
Title='Man Pages'
Description='Mercurial HTML man pages'>
<ComponentGroupRef Id='docFolder' />
</Feature>
<Feature Id='HgBook' Level='1'
Title='Mercurial: The Definitive Guide'
Description="Mercurial book by Bryan O'Sullivan">
<ComponentRef Id='hgbook' />
</Feature>
</Feature>
<Feature Id='KDiff3' Level='1'
Title='KDiff3'
Description='Diff/Merge Tool'>
<ComponentRef Id='KDiff3EXE' />
</Feature>
<Feature Id='SHHUtils' Level='1'
Title='SSH Utils'
Description='TortoisePlink and Pageant key agent'>
<ComponentRef Id='TortoisePlinkEXE' />
<ComponentRef Id='PageantEXE' />
</Feature>
<Feature Id='Misc' Level='1'
Title='Miscellaneous'
Description='Contributed scripts'>
<Feature Id='HGContrib' Level='1'
Title='Contrib'
Description='Mercurial contrib/'>
<ComponentGroupRef Id='contribFolder' />
</Feature>
<Feature Id='DocDiffFeature' Level='1'
Title='Doc Diff Scripts'
Description='TortoiseSVN scripts for comparing binary files'>
<ComponentGroupRef Id='DiffScripts' />
<ComponentRef Id='docdiffEXE' />
<ComponentRef Id='mergepatterns.rc' />
</Feature>
</Feature>
</Feature>
<!-- terminate.exe terminates any running thgtaskbar.exe that supports the
terminate command over the command pipe. Windows installer sometimes
fails to shutdown thgtaskbar.exe, which occasionally leads to a crash
of thgtaskbar.exe during install, which in turn pops up an ugly crash
report dialog pointing to faulting module PYTHON26.DLL. -->
<Binary Id='TerminateEXE' SourceFile='win32\terminate-x86.exe' />
<CustomAction Id='CallTerminate'
BinaryKey='TerminateEXE' ExeCommand='' Return='ignore'
/>
<CustomAction Id='StartThgtaskbarEXE'
FileKey='thgtaskbarEXE' ExeCommand='' Return='asyncNoWait'
/>
<InstallExecuteSequence>
<!-- AppSearch must be done before RemoveExistingProducts and before
FindRelatedProducts -->
<AppSearch Sequence="1"></AppSearch>
<Custom Action='CallTerminate' Before='InstallValidate'>
INSTALLEDTORTOISEHGPRODUCTS
</Custom>
<RemoveExistingProducts After="InstallValidate">
INSTALLEDTORTOISEHGPRODUCTS
</RemoveExistingProducts>
<Custom Action='StartThgtaskbarEXE' After='InstallFinalize'>
NOT Installed
</Custom>
</InstallExecuteSequence>
<Upgrade Id='$(var.ProductUpgradeCode)'>
<UpgradeVersion
IncludeMinimum='yes' Minimum='0.0.0' IncludeMaximum='no' OnlyDetect='no'
Property='INSTALLEDTORTOISEHGPRODUCTS'
/>
</Upgrade>
<UIRef Id="WixUI_FeatureTree" />
<UIRef Id="WixUI_ErrorProgressText" />
<Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value =
"NOTE: Logoff/logon or restarting explorer may be needed to start the overlay icons"
/>
<WixVariable Id="WixUILicenseRtf" Value="contrib\wix\COPYING.rtf" />
<WixVariable Id="WixUIBannerBmp" Value="contrib\wix\WixUIBannerBmp.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="contrib\wix\WixUIDialogBmp.bmp" />
<Icon Id="thgIcon.ico" SourceFile="icons\thg_logo.ico" />
<Icon Id="hgIcon.ico" SourceFile="icons\hg.ico" />
</Product>
</Wix>
|
Loading...