diff options
author | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-08-22 14:49:51 +0100 |
---|---|---|
committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-08-22 14:49:51 +0100 |
commit | a498da43c7fdb9f24b73680c02a4a3588cc62d9a (patch) | |
tree | daf8119dae1749b5165b68033a1b23a7375ce9ce /contrib/wix | |
download | mercurial-tarball-a498da43c7fdb9f24b73680c02a4a3588cc62d9a.tar.gz |
Tarball conversion
Diffstat (limited to 'contrib/wix')
-rw-r--r-- | contrib/wix/COPYING.rtf | bin | 0 -> 1686 bytes | |||
-rw-r--r-- | contrib/wix/README.txt | 31 | ||||
-rw-r--r-- | contrib/wix/contrib.wxs | 44 | ||||
-rw-r--r-- | contrib/wix/defines.wxi | 9 | ||||
-rw-r--r-- | contrib/wix/dist.wxs | 31 | ||||
-rw-r--r-- | contrib/wix/doc.wxs | 50 | ||||
-rw-r--r-- | contrib/wix/guids.wxi | 51 | ||||
-rw-r--r-- | contrib/wix/help.wxs | 34 | ||||
-rw-r--r-- | contrib/wix/hg.cmd | 3 | ||||
-rw-r--r-- | contrib/wix/i18n.wxs | 26 | ||||
-rw-r--r-- | contrib/wix/locale.wxs | 34 | ||||
-rw-r--r-- | contrib/wix/mercurial.wxs | 172 | ||||
-rw-r--r-- | contrib/wix/templates.wxs | 222 |
13 files changed, 707 insertions, 0 deletions
diff --git a/contrib/wix/COPYING.rtf b/contrib/wix/COPYING.rtf Binary files differnew file mode 100644 index 0000000..3174226 --- /dev/null +++ b/contrib/wix/COPYING.rtf 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> |