summaryrefslogtreecommitdiff
path: root/contrib/wix
diff options
context:
space:
mode:
authorLorry <lorry@roadtrain.codethink.co.uk>2012-08-22 14:49:51 +0100
committerLorry <lorry@roadtrain.codethink.co.uk>2012-08-22 14:49:51 +0100
commita498da43c7fdb9f24b73680c02a4a3588cc62d9a (patch)
treedaf8119dae1749b5165b68033a1b23a7375ce9ce /contrib/wix
downloadmercurial-tarball-a498da43c7fdb9f24b73680c02a4a3588cc62d9a.tar.gz
Tarball conversion
Diffstat (limited to 'contrib/wix')
-rw-r--r--contrib/wix/COPYING.rtfbin0 -> 1686 bytes
-rw-r--r--contrib/wix/README.txt31
-rw-r--r--contrib/wix/contrib.wxs44
-rw-r--r--contrib/wix/defines.wxi9
-rw-r--r--contrib/wix/dist.wxs31
-rw-r--r--contrib/wix/doc.wxs50
-rw-r--r--contrib/wix/guids.wxi51
-rw-r--r--contrib/wix/help.wxs34
-rw-r--r--contrib/wix/hg.cmd3
-rw-r--r--contrib/wix/i18n.wxs26
-rw-r--r--contrib/wix/locale.wxs34
-rw-r--r--contrib/wix/mercurial.wxs172
-rw-r--r--contrib/wix/templates.wxs222
13 files changed, 707 insertions, 0 deletions
diff --git a/contrib/wix/COPYING.rtf b/contrib/wix/COPYING.rtf
new file mode 100644
index 0000000..3174226
--- /dev/null
+++ b/contrib/wix/COPYING.rtf
Binary files differ
diff --git a/contrib/wix/README.txt b/contrib/wix/README.txt
new file mode 100644
index 0000000..8d9ec37
--- /dev/null
+++ b/contrib/wix/README.txt
@@ -0,0 +1,31 @@
+WiX installer source files
+==========================
+
+The files in this folder are used by the thg-winbuild [1] package
+building architecture to create a Mercurial MSI installer. These files
+are versioned within the Mercurial source tree because the WXS files
+must kept up to date with distribution changes within their branch. In
+other words, the default branch WXS files are expected to diverge from
+the stable branch WXS files. Storing them within the same repository is
+the only sane way to keep the source tree and the installer in sync.
+
+The MSI installer builder uses only the mercurial.ini file from the
+contrib/win32 folder, the contents of which have been historically used
+to create an InnoSetup based installer. The rest of the files there are
+ignored.
+
+The MSI packages built by thg-winbuild require elevated (admin)
+privileges to be installed due to the installation of MSVC CRT libraries
+under the C:\WINDOWS\WinSxS folder. Thus the InnoSetup installers may
+still be useful to some users.
+
+To build your own MSI packages, clone the thg-winbuild [1] repository
+and follow the README.txt [2] instructions closely. There are fewer
+prerequisites for a WiX [3] installer than an InnoSetup installer, but
+they are more specific.
+
+Direct questions or comments to Steve Borho <steve@borho.org>
+
+[1] http://bitbucket.org/tortoisehg/thg-winbuild
+[2] http://bitbucket.org/tortoisehg/thg-winbuild/src/tip/README.txt
+[3] http://wix.sourceforge.net/
diff --git a/contrib/wix/contrib.wxs b/contrib/wix/contrib.wxs
new file mode 100644
index 0000000..9dde6c4
--- /dev/null
+++ b/contrib/wix/contrib.wxs
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+
+ <?include guids.wxi ?>
+ <?include defines.wxi ?>
+
+ <Fragment>
+ <ComponentGroup Id="contribFolder">
+ <ComponentRef Id="contrib" />
+ <ComponentRef Id="contrib.vim" />
+ </ComponentGroup>
+ </Fragment>
+
+ <Fragment>
+ <DirectoryRef Id="INSTALLDIR">
+ <Directory Id="contribdir" Name="contrib" FileSource="$(var.SourceDir)">
+ <Component Id="contrib" Guid="$(var.contrib.guid)" Win64='$(var.IsX64)'>
+ <File Name="bash_completion" KeyPath="yes" />
+ <File Name="hgk" />
+ <File Name="hgweb.fcgi" />
+ <File Name="hgweb.wsgi" />
+ <File Name="logo-droplets.svg" />
+ <File Name="mercurial.el" />
+ <File Name="sample.hgrc" />
+ <File Name="tcsh_completion" />
+ <File Name="tcsh_completion_build.sh" />
+ <File Name="xml.rnc" />
+ <File Name="zsh_completion" />
+ </Component>
+ <Directory Id="vimdir" Name="vim">
+ <Component Id="contrib.vim" Guid="$(var.contrib.vim.guid)" Win64='$(var.IsX64)'>
+ <File Name="hg-menu.vim" KeyPath="yes" />
+ <File Name="HGAnnotate.vim" />
+ <File Name="hgcommand.vim" />
+ <File Name="patchreview.txt" />
+ <File Name="patchreview.vim" />
+ <File Name="hgtest.vim" />
+ </Component>
+ </Directory>
+ </Directory>
+ </DirectoryRef>
+ </Fragment>
+
+</Wix>
diff --git a/contrib/wix/defines.wxi b/contrib/wix/defines.wxi
new file mode 100644
index 0000000..b0a7860
--- /dev/null
+++ b/contrib/wix/defines.wxi
@@ -0,0 +1,9 @@
+<Include>
+
+ <?if $(var.Platform) = "x64" ?>
+ <?define IsX64 = yes ?>
+ <?else?>
+ <?define IsX64 = no ?>
+ <?endif?>
+
+</Include>
diff --git a/contrib/wix/dist.wxs b/contrib/wix/dist.wxs
new file mode 100644
index 0000000..6aa9ef7
--- /dev/null
+++ b/contrib/wix/dist.wxs
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+
+ <?include guids.wxi ?>
+ <?include defines.wxi ?>
+
+ <Fragment>
+ <DirectoryRef Id="INSTALLDIR" FileSource="$(var.SourceDir)">
+ <Component Id="distOutput" Guid="$(var.dist.guid)" Win64='$(var.IsX64)'>
+ <File Name="library.zip" KeyPath="yes" />
+ <File Name="mercurial.base85.pyd" />
+ <File Name="mercurial.bdiff.pyd" />
+ <File Name="mercurial.diffhelpers.pyd" />
+ <File Name="mercurial.mpatch.pyd" />
+ <File Name="mercurial.osutil.pyd" />
+ <File Name="mercurial.parsers.pyd" />
+ <File Name="pyexpat.pyd" />
+ <File Name="python26.dll" />
+ <File Name="bz2.pyd" />
+ <File Name="select.pyd" />
+ <File Name="unicodedata.pyd" />
+ <File Name="_ctypes.pyd" />
+ <File Name="_elementtree.pyd" />
+ <File Name="_hashlib.pyd" />
+ <File Name="_socket.pyd" />
+ <File Name="_ssl.pyd" />
+ </Component>
+ </DirectoryRef>
+ </Fragment>
+
+</Wix>
diff --git a/contrib/wix/doc.wxs b/contrib/wix/doc.wxs
new file mode 100644
index 0000000..c8bcdd0
--- /dev/null
+++ b/contrib/wix/doc.wxs
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+
+ <?include guids.wxi ?>
+ <?include defines.wxi ?>
+
+ <Fragment>
+ <ComponentGroup Id="docFolder">
+ <ComponentRef Id="doc.hg.1.html" />
+ <ComponentRef Id="doc.hgignore.5.html" />
+ <ComponentRef Id="doc.hgrc.5.html" />
+ <ComponentRef Id="doc.style.css" />
+ </ComponentGroup>
+ </Fragment>
+
+ <Fragment>
+ <DirectoryRef Id="INSTALLDIR">
+ <Directory Id="docdir" Name="doc" FileSource="$(var.SourceDir)">
+ <Component Id="doc.hg.1.html" Guid="$(var.doc.hg.1.html.guid)" Win64='$(var.IsX64)'>
+ <File Name="hg.1.html" KeyPath="yes">
+ <Shortcut Id="hg1StartMenu" Directory="ProgramMenuDir"
+ Name="Mercurial Command Reference"
+ Icon="hgIcon.ico" IconIndex="0" Advertise="yes"
+ />
+ </File>
+ </Component>
+ <Component Id="doc.hgignore.5.html" Guid="$(var.doc.hgignore.5.html.guid)" Win64='$(var.IsX64)'>
+ <File Name="hgignore.5.html" KeyPath="yes">
+ <Shortcut Id="hgignore5StartMenu" Directory="ProgramMenuDir"
+ Name="Mercurial Ignore Files"
+ Icon="hgIcon.ico" IconIndex="0" Advertise="yes"
+ />
+ </File>
+ </Component>
+ <Component Id="doc.hgrc.5.html" Guid="$(var.doc.hgrc.5.html)" Win64='$(var.IsX64)'>
+ <File Name="hgrc.5.html" KeyPath="yes">
+ <Shortcut Id="hgrc5StartMenu" Directory="ProgramMenuDir"
+ Name="Mercurial Configuration Files"
+ Icon="hgIcon.ico" IconIndex="0" Advertise="yes"
+ />
+ </File>
+ </Component>
+ <Component Id="doc.style.css" Guid="$(var.doc.style.css)" Win64='$(var.IsX64)'>
+ <File Name="style.css" KeyPath="yes" />
+ </Component>
+ </Directory>
+ </DirectoryRef>
+ </Fragment>
+
+</Wix>
diff --git a/contrib/wix/guids.wxi b/contrib/wix/guids.wxi
new file mode 100644
index 0000000..d4360a4
--- /dev/null
+++ b/contrib/wix/guids.wxi
@@ -0,0 +1,51 @@
+<Include>
+ <!-- These are component GUIDs used for Mercurial installers.
+ YOU MUST CHANGE ALL GUIDs below when copying this file
+ and replace 'Mercurial' in this notice with the name of
+ your project. Component GUIDs have global namespace! -->
+
+ <!-- contrib.wxs -->
+ <?define contrib.guid = {F17D27B7-4A6B-4cd2-AE72-FED3CFAA585E} ?>
+ <?define contrib.vim.guid = {BB04903A-652D-4C4F-9590-2BD07A2304F2} ?>
+
+ <!-- dist.wxs -->
+ <?define dist.guid = {C3B634A4-1B05-4A40-94A9-38EE853CF693} ?>
+
+ <!-- doc.wxs -->
+ <?define doc.hg.1.html.guid = {AAAA3FDA-EDC5-4220-B59D-D342722358A2} ?>
+ <?define doc.hgignore.5.html.guid = {AA9118C4-F3A0-4429-A5F4-5A1906B2D67F} ?>
+ <?define doc.hgrc.5.html = {E0CEA1EB-FA01-408c-844B-EE5965165BAE} ?>
+ <?define doc.style.css = {172F8262-98E0-4711-BD39-4DAE0D77EF05} ?>
+
+ <!-- help.wxs -->
+ <?define helpFolder.guid = {9FA957DB-6DFE-44f2-AD03-293B2791CF17} ?>
+
+ <!-- i18n.wxs -->
+ <?define i18nFolder.guid = {1BF8026D-CF7C-4174-AEE6-D6B7BF119248} ?>
+
+ <!-- templates.wxs -->
+ <?define templates.root.guid = {8DF97574-33E9-412F-8414-65B48BB18783} ?>
+ <?define templates.atom.guid = {AB5D2908-BC95-44BE-9D79-069EF43D93E2} ?>
+ <?define templates.coal.guid = {B63CCAAB-4EAF-43b4-901E-4BD13F5B78FC} ?>
+ <?define templates.gitweb.guid = {6A33D168-F84E-45AA-912C-23CAC2D66BCA} ?>
+ <?define templates.monoblue.guid = {D27AA750-9394-4DAC-84FC-A546CE8F347A} ?>
+ <?define templates.paper.guid = {D2591E56-709E-49F9-8A5F-1359E1CCD7E0} ?>
+ <?define templates.raw.guid = {04DE03A2-FBFD-4c5f-8DEA-5436DDF4689D} ?>
+ <?define templates.rss.guid = {36069748-1E2A-472B-A212-506CB656A9C1} ?>
+ <?define templates.spartan.guid = {80222625-FA8F-44b1-86CE-1781EF375D09} ?>
+ <?define templates.static.guid = {B27D7311-050A-4A96-9971-B674A0EA21D0} ?>
+
+ <!-- mercurial.wxs -->
+ <?define ProductUpgradeCode = {A1CC6134-E945-4399-BE36-EB0017FDF7CF} ?>
+
+ <?define ComponentMainExecutableGUID = {D102B8FA-059B-4ACC-9FA3-8C78C3B58EEF} ?>
+
+ <?define ReadMe.guid = {56A8E372-991D-4DCA-B91D-93D775974CF5} ?>
+ <?define COPYING.guid = {B7801DBA-1C49-4BF4-91AD-33C65F5C7895} ?>
+ <?define mercurial.rc.guid = {1D5FAEEE-7E6E-43B1-9F7F-802714316B15} ?>
+ <?define mergetools.rc.guid = {E8A1DC29-FF40-4B5F-BD12-80B9F7BF0CCD} ?>
+ <?define paths.rc.guid = {F9ADF21D-5F0B-4934-8CD9-14BE63664721} ?>
+ <?define cacert.pem.guid = {EC1B2630-FE21-46E6-915B-A6545AF703D4} ?>
+ <?define ProgramMenuDir.guid = {D5A63320-1238-489B-B68B-CF053E9577CA} ?>
+
+</Include>
diff --git a/contrib/wix/help.wxs b/contrib/wix/help.wxs
new file mode 100644
index 0000000..601ecdc
--- /dev/null
+++ b/contrib/wix/help.wxs
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+
+ <?include guids.wxi ?>
+ <?include defines.wxi ?>
+
+ <Fragment>
+ <DirectoryRef Id="INSTALLDIR">
+ <Directory Id="helpdir" Name="help" FileSource="$(var.SourceDir)">
+ <Component Id="helpFolder" Guid="$(var.helpFolder.guid)" Win64='$(var.IsX64)'>
+ <File Name="config.txt" KeyPath="yes" />
+ <File Name="dates.txt" />
+ <File Name="diffs.txt" />
+ <File Name="environment.txt" />
+ <File Name="extensions.txt" />
+ <File Name="filesets.txt" />
+ <File Name="glossary.txt" />
+ <File Name="hgignore.txt" />
+ <File Name="hgweb.txt" />
+ <File Name="merge-tools.txt" />
+ <File Name="multirevs.txt" />
+ <File Name="patterns.txt" />
+ <File Name="phases.txt" />
+ <File Name="revisions.txt" />
+ <File Name="revsets.txt" />
+ <File Name="subrepos.txt" />
+ <File Name="templates.txt" />
+ <File Name="urls.txt" />
+ </Component>
+ </Directory>
+ </DirectoryRef>
+ </Fragment>
+
+</Wix>
diff --git a/contrib/wix/hg.cmd b/contrib/wix/hg.cmd
new file mode 100644
index 0000000..7e4c897
--- /dev/null
+++ b/contrib/wix/hg.cmd
@@ -0,0 +1,3 @@
+@echo off
+rem launch hg.exe from parent folder
+"%~dp0\..\hg.exe" %*
diff --git a/contrib/wix/i18n.wxs b/contrib/wix/i18n.wxs
new file mode 100644
index 0000000..4c97ca4
--- /dev/null
+++ b/contrib/wix/i18n.wxs
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+
+ <?include guids.wxi ?>
+ <?include defines.wxi ?>
+
+ <?define hg_po_langs =
+ da;de;el;fr;it;ja;pt_BR;ro;ru;sv;zh_CN;zh_TW
+ ?>
+
+ <Fragment>
+ <DirectoryRef Id="INSTALLDIR">
+ <Directory Id="i18ndir" Name="i18n" FileSource="$(var.SourceDir)">
+ <Component Id="i18nFolder" Guid="$(var.i18nFolder.guid)" Win64='$(var.IsX64)'>
+ <File Name="hggettext" KeyPath="yes" />
+ <?foreach LANG in $(var.hg_po_langs) ?>
+ <File Id="hg.$(var.LANG).po"
+ Name="$(var.LANG).po"
+ />
+ <?endforeach?>
+ </Component>
+ </Directory>
+ </DirectoryRef>
+ </Fragment>
+
+</Wix>
diff --git a/contrib/wix/locale.wxs b/contrib/wix/locale.wxs
new file mode 100644
index 0000000..52b66d4
--- /dev/null
+++ b/contrib/wix/locale.wxs
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+
+ <?include defines.wxi ?>
+
+ <?define hglocales =
+ da;de;el;fr;it;ja;pt_BR;sv;zh_CN;zh_TW
+ ?>
+
+ <Fragment>
+ <ComponentGroup Id="localeFolder">
+ <?foreach LOC in $(var.hglocales) ?>
+ <ComponentRef Id="hg.locale.$(var.LOC)"/>
+ <?endforeach?>
+ </ComponentGroup>
+ </Fragment>
+
+ <Fragment>
+ <DirectoryRef Id="INSTALLDIR">
+ <Directory Id="localedir" Name="locale" FileSource="$(var.SourceDir)">
+ <?foreach LOC in $(var.hglocales) ?>
+ <Directory Id="hg.locale.$(var.LOC)" Name="$(var.LOC)">
+ <Directory Id="hg.locale.$(var.LOC).LC_MESSAGES" Name="LC_MESSAGES">
+ <Component Id="hg.locale.$(var.LOC)" Guid="*" Win64='$(var.IsX64)'>
+ <File Id="hg.mo.$(var.LOC)" Name="hg.mo" KeyPath="yes" />
+ </Component>
+ </Directory>
+ </Directory>
+ <?endforeach?>
+ </Directory>
+ </DirectoryRef>
+ </Fragment>
+
+</Wix>
diff --git a/contrib/wix/mercurial.wxs b/contrib/wix/mercurial.wxs
new file mode 100644
index 0000000..fdd47e0
--- /dev/null
+++ b/contrib/wix/mercurial.wxs
@@ -0,0 +1,172 @@
+<?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. -->
+
+ <?include guids.wxi ?>
+ <?include defines.wxi ?>
+
+ <?if $(var.Platform) = "x64" ?>
+ <?define PFolder = ProgramFiles64Folder ?>
+ <?else?>
+ <?define PFolder = ProgramFilesFolder ?>
+ <?endif?>
+
+ <Product Id='*'
+ Name='Mercurial $(var.Version) ($(var.Platform))'
+ UpgradeCode='$(var.ProductUpgradeCode)'
+ Language='1033' Codepage='1252' Version='$(var.Version)'
+ Manufacturer='Matt Mackall and others'>
+
+ <Package Id='*'
+ Keywords='Installer'
+ Description="Mercurial distributed SCM (version $(var.Version))"
+ Comments='$(var.Comments)'
+ Platform='$(var.Platform)'
+ Manufacturer='Matt Mackall and others'
+ InstallerVersion='300' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
+
+ <Media Id='1' Cabinet='mercurial.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1'
+ CompressionLevel='high' />
+ <Property Id='DiskPrompt' Value="Mercurial $(var.Version) Installation [1]" />
+
+ <Condition Message='Mercurial MSI installers require Windows XP or higher'>
+ VersionNT >= 501
+ </Condition>
+
+ <Property Id="INSTALLDIR">
+ <ComponentSearch Id='SearchForMainExecutableComponent'
+ Guid='$(var.ComponentMainExecutableGUID)' />
+ </Property>
+
+ <!--Property Id='ARPCOMMENTS'>any comments</Property-->
+ <Property Id='ARPCONTACT'>mercurial@selenic.com</Property>
+ <Property Id='ARPHELPLINK'>http://mercurial.selenic.com/wiki/</Property>
+ <Property Id='ARPURLINFOABOUT'>http://mercurial.selenic.com/about/</Property>
+ <Property Id='ARPURLUPDATEINFO'>http://mercurial.selenic.com/downloads/</Property>
+ <Property Id='ARPHELPTELEPHONE'>http://mercurial.selenic.com/wiki/Support</Property>
+ <Property Id='ARPPRODUCTICON'>hgIcon.ico</Property>
+
+ <Property Id='INSTALLEDMERCURIALPRODUCTS' 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='$(var.PFolder)' Name='PFiles'>
+ <Directory Id='INSTALLDIR' Name='Mercurial'>
+ <Component Id='MainExecutable' Guid='$(var.ComponentMainExecutableGUID)' Win64='$(var.IsX64)'>
+ <File Id='hgEXE' Name='hg.exe' Source='dist\hg.exe' KeyPath='yes' />
+ <Environment Id="Environment" Name="PATH" Part="last" System="yes"
+ Permanent="no" Value="[INSTALLDIR]" Action="set" />
+ </Component>
+ <Component Id='ReadMe' Guid='$(var.ReadMe.guid)' Win64='$(var.IsX64)'>
+ <File Id='ReadMe' Name='ReadMe.html' Source='contrib\win32\ReadMe.html'
+ KeyPath='yes'/>
+ </Component>
+ <Component Id='COPYING' Guid='$(var.COPYING.guid)' Win64='$(var.IsX64)'>
+ <File Id='COPYING' Name='COPYING.rtf' Source='contrib\wix\COPYING.rtf'
+ KeyPath='yes'/>
+ </Component>
+
+ <Directory Id='HGRCD' Name='hgrc.d'>
+ <Component Id='mercurial.rc' Guid='$(var.mercurial.rc.guid)' Win64='$(var.IsX64)'>
+ <File Id='mercurial.rc' Name='Mercurial.rc' Source='contrib\win32\mercurial.ini'
+ ReadOnly='yes' KeyPath='yes'/>
+ </Component>
+ <Component Id='mergetools.rc' Guid='$(var.mergetools.rc.guid)' Win64='$(var.IsX64)'>
+ <File Id='mergetools.rc' Name='MergeTools.rc' Source='contrib\mergetools.hgrc'
+ ReadOnly='yes' KeyPath='yes'/>
+ </Component>
+ <Component Id='paths.rc' Guid='$(var.paths.rc.guid)' Win64='$(var.IsX64)'>
+ <CreateFolder/>
+ <IniFile Id="ini0" Action="createLine" Directory="HGRCD" Name="Paths.rc"
+ Section="web" Key="cacerts" Value="[INSTALLDIR]hgrc.d\cacert.pem" />
+ </Component>
+ <Component Id='cacert.pem' Guid='$(var.cacert.pem.guid)' Win64='$(var.IsX64)'>
+ <File Id='cacert.pem' Name='cacert.pem' Source='..\misc\cacert.pem'
+ ReadOnly='yes' KeyPath='yes'/>
+ </Component>
+ </Directory>
+
+ </Directory>
+ </Directory>
+
+ <Directory Id="ProgramMenuFolder" Name="Programs">
+ <Directory Id="ProgramMenuDir" Name="Mercurial $(var.Version)">
+ <Component Id="ProgramMenuDir" Guid="$(var.ProgramMenuDir.guid)" Win64='$(var.IsX64)'>
+ <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
+ <RegistryValue Root='HKCU' Key='Software\Mercurial\InstallDir' Type='string'
+ Value='[INSTALLDIR]' KeyPath='yes' />
+ <Shortcut Id='UrlShortcut' Directory='ProgramMenuDir' Name='Mercurial Web Site'
+ Target='[ARPHELPLINK]' Icon="hgIcon.ico" IconIndex='0' />
+ </Component>
+ </Directory>
+ </Directory>
+
+ <?if $(var.Platform) = "x86" ?>
+ <Merge Id='VCRuntime' DiskId='1' Language='1033'
+ SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x86_msm.msm' />
+ <Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
+ SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x86_msm.msm' />
+ <?else?>
+ <Merge Id='VCRuntime' DiskId='1' Language='1033'
+ SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x64_msm.msm' />
+ <Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
+ SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x64_msm.msm' />
+ <?endif?>
+ </Directory>
+
+ <Feature Id='Complete' Title='Mercurial' Description='The complete package'
+ Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR' >
+ <Feature Id='MainProgram' Title='Program' Description='Mercurial command line app'
+ Level='1' Absent='disallow' >
+ <ComponentRef Id='MainExecutable' />
+ <ComponentRef Id='distOutput' />
+ <ComponentRef Id='ProgramMenuDir' />
+ <ComponentRef Id='ReadMe' />
+ <ComponentRef Id='COPYING' />
+ <ComponentRef Id='mercurial.rc' />
+ <ComponentRef Id='mergetools.rc' />
+ <ComponentRef Id='paths.rc' />
+ <ComponentRef Id='cacert.pem' />
+ <ComponentRef Id='helpFolder' />
+ <ComponentGroupRef Id='templatesFolder' />
+ <MergeRef Id='VCRuntime' />
+ <MergeRef Id='VCRuntimePolicy' />
+ </Feature>
+ <Feature Id='Locales' Title='Translations' Description='Translations' Level='1'>
+ <ComponentGroupRef Id='localeFolder' />
+ <ComponentRef Id='i18nFolder' />
+ </Feature>
+ <Feature Id='Documentation' Title='Documentation' Description='HTML man pages' Level='1'>
+ <ComponentGroupRef Id='docFolder' />
+ </Feature>
+ <Feature Id='Misc' Title='Miscellaneous' Description='Contributed scripts' Level='1'>
+ <ComponentGroupRef Id='contribFolder' />
+ </Feature>
+ </Feature>
+
+ <UIRef Id="WixUI_FeatureTree" />
+ <UIRef Id="WixUI_ErrorProgressText" />
+
+ <WixVariable Id="WixUILicenseRtf" Value="contrib\wix\COPYING.rtf" />
+
+ <Icon Id="hgIcon.ico" SourceFile="contrib/win32/mercurial.ico" />
+
+ <Upgrade Id='$(var.ProductUpgradeCode)'>
+ <UpgradeVersion
+ IncludeMinimum='yes' Minimum='0.0.0' IncludeMaximum='no' OnlyDetect='no'
+ Property='INSTALLEDMERCURIALPRODUCTS' />
+ </Upgrade>
+
+ <InstallExecuteSequence>
+ <RemoveExistingProducts After='InstallInitialize'/>
+ </InstallExecuteSequence>
+
+ </Product>
+</Wix>
diff --git a/contrib/wix/templates.wxs b/contrib/wix/templates.wxs
new file mode 100644
index 0000000..ac2eacc
--- /dev/null
+++ b/contrib/wix/templates.wxs
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+
+ <?include guids.wxi ?>
+ <?include defines.wxi ?>
+
+ <Fragment>
+ <ComponentGroup Id="templatesFolder">
+
+ <ComponentRef Id="templates.root" />
+
+ <ComponentRef Id="templates.atom" />
+ <ComponentRef Id="templates.coal" />
+ <ComponentRef Id="templates.gitweb" />
+ <ComponentRef Id="templates.monoblue" />
+ <ComponentRef Id="templates.paper" />
+ <ComponentRef Id="templates.raw" />
+ <ComponentRef Id="templates.rss" />
+ <ComponentRef Id="templates.spartan" />
+ <ComponentRef Id="templates.static" />
+
+ </ComponentGroup>
+ </Fragment>
+
+ <Fragment>
+ <DirectoryRef Id="INSTALLDIR">
+
+ <Directory Id="templatesdir" Name="templates" FileSource="$(var.SourceDir)">
+
+ <Component Id="templates.root" Guid="$(var.templates.root.guid)" Win64='$(var.IsX64)'>
+ <File Name="map-cmdline.changelog" KeyPath="yes" />
+ <File Name="map-cmdline.compact" />
+ <File Name="map-cmdline.default" />
+ <File Name="map-cmdline.bisect" />
+ <File Name="map-cmdline.xml" />
+ <File Name="template-vars.txt" />
+ </Component>
+
+ <Directory Id="templates.atomdir" Name="atom">
+ <Component Id="templates.atom" Guid="$(var.templates.atom.guid)" Win64='$(var.IsX64)'>
+ <File Id="atom.changelog.tmpl" Name="changelog.tmpl" KeyPath="yes" />
+ <File Id="atom.changelogentry.tmpl" Name="changelogentry.tmpl" />
+ <File Id="atom.error.tmpl" Name="error.tmpl" />
+ <File Id="atom.filelog.tmpl" Name="filelog.tmpl" />
+ <File Id="atom.header.tmpl" Name="header.tmpl" />
+ <File Id="atom.map" Name="map" />
+ <File Id="atom.tagentry.tmpl" Name="tagentry.tmpl" />
+ <File Id="atom.tags.tmpl" Name="tags.tmpl" />
+ <File Id="atom.bookmarks.tmpl" Name="bookmarks.tmpl" />
+ <File Id="atom.bookmarkentry.tmpl" Name="bookmarkentry.tmpl" />
+ </Component>
+ </Directory>
+
+ <Directory Id="templates.coaldir" Name="coal">
+ <Component Id="templates.coal" Guid="$(var.templates.coal.guid)" Win64='$(var.IsX64)'>
+ <File Id="coal.header.tmpl" Name="header.tmpl" KeyPath="yes" />
+ <File Id="coal.map" Name="map" />
+ </Component>
+ </Directory>
+
+ <Directory Id="templates.gitwebdir" Name="gitweb">
+ <Component Id="templates.gitweb" Guid="$(var.templates.gitweb.guid)" Win64='$(var.IsX64)'>
+ <File Id="gitweb.branches.tmpl" Name="branches.tmpl" KeyPath="yes" />
+ <File Id="gitweb.bookmarks.tmpl" Name="bookmarks.tmpl" />
+ <File Id="gitweb.changelog.tmpl" Name="changelog.tmpl" />
+ <File Id="gitweb.changelogentry.tmpl" Name="changelogentry.tmpl" />
+ <File Id="gitweb.changeset.tmpl" Name="changeset.tmpl" />
+ <File Id="gitweb.error.tmpl" Name="error.tmpl" />
+ <File Id="gitweb.fileannotate.tmpl" Name="fileannotate.tmpl" />
+ <File Id="gitweb.filediff.tmpl" Name="filediff.tmpl" />
+ <File Id="gitweb.filelog.tmpl" Name="filelog.tmpl" />
+ <File Id="gitweb.filerevision.tmpl" Name="filerevision.tmpl" />
+ <File Id="gitweb.footer.tmpl" Name="footer.tmpl" />
+ <File Id="gitweb.graph.tmpl" Name="graph.tmpl" />
+ <File Id="gitweb.header.tmpl" Name="header.tmpl" />
+ <File Id="gitweb.index.tmpl" Name="index.tmpl" />
+ <File Id="gitweb.manifest.tmpl" Name="manifest.tmpl" />
+ <File Id="gitweb.map" Name="map" />
+ <File Id="gitweb.notfound.tmpl" Name="notfound.tmpl" />
+ <File Id="gitweb.search.tmpl" Name="search.tmpl" />
+ <File Id="gitweb.shortlog.tmpl" Name="shortlog.tmpl" />
+ <File Id="gitweb.summary.tmpl" Name="summary.tmpl" />
+ <File Id="gitweb.tags.tmpl" Name="tags.tmpl" />
+ <File Id="gitweb.help.tmpl" Name="help.tmpl" />
+ <File Id="gitweb.helptopics.tmpl" Name="helptopics.tmpl" />
+ </Component>
+ </Directory>
+
+ <Directory Id="templates.monobluedir" Name="monoblue">
+ <Component Id="templates.monoblue" Guid="$(var.templates.monoblue.guid)" Win64='$(var.IsX64)'>
+ <File Id="monoblue.branches.tmpl" Name="branches.tmpl" KeyPath="yes" />
+ <File Id="monoblue.bookmarks.tmpl" Name="bookmarks.tmpl" />
+ <File Id="monoblue.changelog.tmpl" Name="changelog.tmpl" />
+ <File Id="monoblue.changelogentry.tmpl" Name="changelogentry.tmpl" />
+ <File Id="monoblue.changeset.tmpl" Name="changeset.tmpl" />
+ <File Id="monoblue.error.tmpl" Name="error.tmpl" />
+ <File Id="monoblue.fileannotate.tmpl" Name="fileannotate.tmpl" />
+ <File Id="monoblue.filediff.tmpl" Name="filediff.tmpl" />
+ <File Id="monoblue.filelog.tmpl" Name="filelog.tmpl" />
+ <File Id="monoblue.filerevision.tmpl" Name="filerevision.tmpl" />
+ <File Id="monoblue.footer.tmpl" Name="footer.tmpl" />
+ <File Id="monoblue.graph.tmpl" Name="graph.tmpl" />
+ <File Id="monoblue.header.tmpl" Name="header.tmpl" />
+ <File Id="monoblue.index.tmpl" Name="index.tmpl" />
+ <File Id="monoblue.manifest.tmpl" Name="manifest.tmpl" />
+ <File Id="monoblue.map" Name="map" />
+ <File Id="monoblue.notfound.tmpl" Name="notfound.tmpl" />
+ <File Id="monoblue.search.tmpl" Name="search.tmpl" />
+ <File Id="monoblue.shortlog.tmpl" Name="shortlog.tmpl" />
+ <File Id="monoblue.summary.tmpl" Name="summary.tmpl" />
+ <File Id="monoblue.tags.tmpl" Name="tags.tmpl" />
+ <File Id="monoblue.help.tmpl" Name="help.tmpl" />
+ <File Id="monoblue.helptopics.tmpl" Name="helptopics.tmpl" />
+ </Component>
+ </Directory>
+
+ <Directory Id="templates.paperdir" Name="paper">
+ <Component Id="templates.paper" Guid="$(var.templates.paper.guid)" Win64='$(var.IsX64)'>
+ <File Id="paper.branches.tmpl" Name="branches.tmpl" KeyPath="yes" />
+ <File Id="paper.bookmarks.tmpl" Name="bookmarks.tmpl" />
+ <File Id="paper.changeset.tmpl" Name="changeset.tmpl" />
+ <File Id="paper.diffstat.tmpl" Name="diffstat.tmpl" />
+ <File Id="paper.error.tmpl" Name="error.tmpl" />
+ <File Id="paper.fileannotate.tmpl" Name="fileannotate.tmpl" />
+ <File Id="paper.filediff.tmpl" Name="filediff.tmpl" />
+ <File Id="paper.filelog.tmpl" Name="filelog.tmpl" />
+ <File Id="paper.filelogentry.tmpl" Name="filelogentry.tmpl" />
+ <File Id="paper.filerevision.tmpl" Name="filerevision.tmpl" />
+ <File Id="paper.footer.tmpl" Name="footer.tmpl" />
+ <File Id="paper.graph.tmpl" Name="graph.tmpl" />
+ <File Id="paper.header.tmpl" Name="header.tmpl" />
+ <File Id="paper.index.tmpl" Name="index.tmpl" />
+ <File Id="paper.manifest.tmpl" Name="manifest.tmpl" />
+ <File Id="paper.map" Name="map" />
+ <File Id="paper.notfound.tmpl" Name="notfound.tmpl" />
+ <File Id="paper.search.tmpl" Name="search.tmpl" />
+ <File Id="paper.shortlog.tmpl" Name="shortlog.tmpl" />
+ <File Id="paper.shortlogentry.tmpl" Name="shortlogentry.tmpl" />
+ <File Id="paper.tags.tmpl" Name="tags.tmpl" />
+ <File Id="paper.help.tmpl" Name="help.tmpl" />
+ <File Id="paper.helptopics.tmpl" Name="helptopics.tmpl" />
+ </Component>
+ </Directory>
+
+ <Directory Id="templates.rawdir" Name="raw">
+ <Component Id="templates.raw" Guid="$(var.templates.raw.guid)" Win64='$(var.IsX64)'>
+ <File Id="raw.changeset.tmpl" Name="changeset.tmpl" KeyPath="yes" />
+ <File Id="raw.error.tmpl" Name="error.tmpl" />
+ <File Id="raw.fileannotate.tmpl" Name="fileannotate.tmpl" />
+ <File Id="raw.filediff.tmpl" Name="filediff.tmpl" />
+ <File Id="raw.index.tmpl" Name="index.tmpl" />
+ <File Id="raw.manifest.tmpl" Name="manifest.tmpl" />
+ <File Id="raw.map" Name="map" />
+ <File Id="raw.notfound.tmpl" Name="notfound.tmpl" />
+ </Component>
+ </Directory>
+
+ <Directory Id="templates.rssdir" Name="rss">
+ <Component Id="templates.rss" Guid="$(var.templates.rss.guid)" Win64='$(var.IsX64)'>
+ <File Id="rss.changelog.tmpl" Name="changelog.tmpl" KeyPath="yes" />
+ <File Id="rss.changelogentry.tmpl" Name="changelogentry.tmpl" />
+ <File Id="rss.error.tmpl" Name="error.tmpl" />
+ <File Id="rss.filelog.tmpl" Name="filelog.tmpl" />
+ <File Id="rss.filelogentry.tmpl" Name="filelogentry.tmpl" />
+ <File Id="rss.header.tmpl" Name="header.tmpl" />
+ <File Id="rss.map" Name="map" />
+ <File Id="rss.tagentry.tmpl" Name="tagentry.tmpl" />
+ <File Id="rss.tags.tmpl" Name="tags.tmpl" />
+ <File Id="rss.bookmarks.tmpl" Name="bookmarks.tmpl" />
+ <File Id="rss.bookmarkentry.tmpl" Name="bookmarkentry.tmpl" />
+ </Component>
+ </Directory>
+
+ <Directory Id="templates.spartandir" Name="spartan">
+ <Component Id="templates.spartan" Guid="$(var.templates.spartan.guid)" Win64='$(var.IsX64)'>
+ <File Id="spartan.branches.tmpl" Name="branches.tmpl" KeyPath="yes" />
+ <File Id="spartan.changelog.tmpl" Name="changelog.tmpl" />
+ <File Id="spartan.changelogentry.tmpl" Name="changelogentry.tmpl" />
+ <File Id="spartan.changeset.tmpl" Name="changeset.tmpl" />
+ <File Id="spartan.error.tmpl" Name="error.tmpl" />
+ <File Id="spartan.fileannotate.tmpl" Name="fileannotate.tmpl" />
+ <File Id="spartan.filediff.tmpl" Name="filediff.tmpl" />
+ <File Id="spartan.filelog.tmpl" Name="filelog.tmpl" />
+ <File Id="spartan.filelogentry.tmpl" Name="filelogentry.tmpl" />
+ <File Id="spartan.filerevision.tmpl" Name="filerevision.tmpl" />
+ <File Id="spartan.footer.tmpl" Name="footer.tmpl" />
+ <File Id="spartan.graph.tmpl" Name="graph.tmpl" />
+ <File Id="spartan.header.tmpl" Name="header.tmpl" />
+ <File Id="spartan.index.tmpl" Name="index.tmpl" />
+ <File Id="spartan.manifest.tmpl" Name="manifest.tmpl" />
+ <File Id="spartan.map" Name="map" />
+ <File Id="spartan.notfound.tmpl" Name="notfound.tmpl" />
+ <File Id="spartan.search.tmpl" Name="search.tmpl" />
+ <File Id="spartan.shortlog.tmpl" Name="shortlog.tmpl" />
+ <File Id="spartan.shortlogentry.tmpl" Name="shortlogentry.tmpl" />
+ <File Id="spartan.tags.tmpl" Name="tags.tmpl" />
+ </Component>
+ </Directory>
+
+ <Directory Id="templates.staticdir" Name="static">
+ <Component Id="templates.static" Guid="$(var.templates.static.guid)" Win64='$(var.IsX64)'>
+ <File Id="static.background.png" Name="background.png" KeyPath="yes" />
+ <File Id="static.coal.file.png" Name="coal-file.png" />
+ <File Id="static.coal.folder.png" Name="coal-folder.png" />
+ <File Id="static.excanvas.js" Name="excanvas.js" />
+ <File Id="static.mercurial.js" Name="mercurial.js" />
+ <File Id="static.hgicon.png" Name="hgicon.png" />
+ <File Id="static.hglogo.png" Name="hglogo.png" />
+ <File Id="static.style.coal.css" Name="style-coal.css" />
+ <File Id="static.style.gitweb.css" Name="style-gitweb.css" />
+ <File Id="static.style.monoblue.css" Name="style-monoblue.css" />
+ <File Id="static.style.paper.css" Name="style-paper.css" />
+ <File Id="static.style.css" Name="style.css" />
+ </Component>
+ </Directory>
+
+ </Directory>
+
+ </DirectoryRef>
+ </Fragment>
+
+ </Wix>