view deploy/win32/easyhg.wxs @ 680:21e03596dd93

Towards Win32 deployment
author Chris Cannam
date Fri, 07 Dec 2018 13:41:32 +0000
parents easyhg.wxs@4d39a93cab9e
children 1add6167eb3c
line wrap: on
line source
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

  <Product
      Name="EasyMercurial" 
      Id="*"
      Language="1033"
      Codepage="1252" 
      Version="1.3.0" 
      UpgradeCode="B82DFDA9-B9DE-49BC-93E5-0B96F9DEB04B"
      Manufacturer="Queen Mary, University of London">
    
    <Package
        Id="*"
        Keywords="Installer"
        Description="EasyMercurial Installer" 
        Comments="Copyright (c) 2012 Queen Mary, University of London and others." 
        Manufacturer="Queen Mary, University of London" 
        InstallerVersion="100" 
        Languages="1033" 
        Compressed="yes" 
        SummaryCodepage="1252"/>

    <MajorUpgrade DowngradeErrorMessage="A later version of EasyMercurial is already installed. Setup will now exit."/>

    <Media Id="1" Cabinet="easyhg.cab" EmbedCab="yes" DiskPrompt="CD-ROM #1"/>
    <Property Id="DiskPrompt" Value="EasyMercurial Installation [1]"/>

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder" Name="PFiles">
        <Directory Id="INSTALLDIR" Name="EasyMercurial">
            
            <Component
                Id="MainExecutable"
                Guid="DC128BA9-25A8-431E-8A88-7E0445E850B9">

              <File
                  Id="EasyHg"
                  Name="EasyMercurial.exe"
                  DiskId="1"
                  Source="release\EasyMercurial.exe"
                  KeyPath="yes">

                <Shortcut
                    Id="EasyHgStartEntry"
                    Directory="ProgramMenuDir"
                    Name="EasyMercurial"
                    WorkingDirectory="INSTALLDIR"
                    Icon="easyhg.ico"
                    IconIndex="0"
                    Advertise="yes"/>

                <Shortcut
                    Id="EasyHgDesktop"
                    Directory="DesktopFolder"
                    Name="EasyMercurial"
                    WorkingDirectory="INSTALLDIR"
                    Icon="easyhg.ico"
                    IconIndex="0"
                    Advertise="yes"/>
              </File>

              <File
                  Id="COPYING"
                  Name="COPYING"
                  DiskId="1"
                  Source="COPYING"/>

              <File
                  Id="easyhg.ico"
                  Name="easyhg.ico"
                  DiskId="1"
                  Source="easyhg.ico"/>
            </Component>

            <Component
                Id="HelperScripts"
                Guid="971EA788-347E-4CDE-9899-69EEBE117BDD">

              <File
                  Id="mergebat"
                  Name="easyhg-merge.bat"
                  DiskId="1"
                  Source="easyhg-merge.bat"
                  KeyPath="yes"/>
            </Component>		  

            <Component
                Id="VCLIBS"
                Guid="2566C8F0-A2AD-40E9-A356-94E887CC1222">
              <File
                  Id="MSVCP100"
                  Name="MSVCP100.dll"
                  DiskId="1"
                  Source="c:\windows\system32\MSVCP100.DLL"
                  KeyPath="yes"/>
              <File
                  Id="MSVCR100"
                  Name="MSVCR100.dll"
                  DiskId="1"
                  Source="c:\windows\system32\MSVCR100.DLL"/>
            </Component>

            <Component
                Id="Qt4"
                Guid="04F730AC-B361-45A2-B1CC-9CEB55256117">
              <File
                  Id="QtCore"
                  Name="QtCore4.dll"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\QtCore4.dll"
		  KeyPath="yes"/>
              <File
                  Id="QtGui"
                  Name="QtGui4.dll"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\QtGui4.dll"/>
              <File
                  Id="QtNetwork"
                  Name="QtNetwork4.dll"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\QtNetwork4.dll"/>
            </Component>

            <Component
                Id="hg"
                Guid="5BBC4080-2EDF-4616-A8CB-F96B9C942C1A">

              <File
                  Id="hg"
                  Name="hg.exe"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\hg.exe"
                  KeyPath="yes"/>
              <File
                  Id="pydll"
                  Name="python27.dll"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\python27.dll"/>
              <File
                  Id="hglib"
                  Name="library.zip"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\library.zip"/>
              <File
                  Id="plink"
                  Name="TortoisePlink.exe"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\TortoisePlink.exe"/>
              <File
                  Id="ctypes"
                  Name="_ctypes.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\_ctypes.pyd"/>
              <File
                  Id="ctypestest"
                  Name="_ctypes_test.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\_ctypes_test.pyd"/>
              <File
                  Id="elementtree"
                  Name="_elementtree.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\_elementtree.pyd"/>
              <File
                  Id="hashlib"
                  Name="_hashlib.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\_hashlib.pyd"/>
              <File
                  Id="socket"
                  Name="_socket.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\_socket.pyd"/>
              <File
                  Id="ssl"
                  Name="_ssl.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\_ssl.pyd"/>
              <File
                  Id="winsysloader"
                  Name="_win32sysloader.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\_win32sysloader.pyd"/>
              <File
                  Id="bz"
                  Name="bz2.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\bz2.pyd"/>
              <File
                  Id="dulwichobjects"
                  Name="dulwich._objects.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\dulwich._objects.pyd"/>
              <File
                  Id="dulwichpack"
                  Name="dulwich._pack.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\dulwich._pack.pyd"/>
              <File
                  Id="libsvncore"
                  Name="libsvn._core.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\libsvn._core.pyd"/>
              <File
                  Id="libsvnclient"
                  Name="libsvn._client.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\libsvn._client.pyd"/>
              <File
                  Id="libsvndelta"
                  Name="libsvn._delta.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\libsvn._delta.pyd"/>
              <File
                  Id="libsvnra"
                  Name="libsvn._ra.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\libsvn._ra.pyd"/>
              <File
                  Id="libsvnwc"
                  Name="libsvn._wc.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\libsvn._wc.pyd"/>
              <File
                  Id="mercurialbase"
                  Name="mercurial.base85.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\mercurial.base85.pyd"/>
              <File
                  Id="mercurialbdiff"
                  Name="mercurial.bdiff.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\mercurial.bdiff.pyd"/>
              <File
                  Id="mercurialdiffhelpers"
                  Name="mercurial.diffhelpers.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\mercurial.diffhelpers.pyd"/>
              <File
                  Id="mercurialmpatch"
                  Name="mercurial.mpatch.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\mercurial.mpatch.pyd"/>
              <File
                  Id="mercurialosutil"
                  Name="mercurial.osutil.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\mercurial.osutil.pyd"/>
              <File
                  Id="mercurialparsers"
                  Name="mercurial.parsers.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\mercurial.parsers.pyd"/>
              <File
                  Id="pyexpat"
                  Name="pyexpat.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\pyexpat.pyd"/>
              <File
                  Id="unicodedata"
                  Name="unicodedata.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\unicodedata.pyd"/>
              <File
                  Id="QtCorepy"
                  Name="PyQt4.QtCore.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\PyQt4.QtCore.pyd" />
              <File
                  Id="QtGuipy"
                  Name="PyQt4.QtGui.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\PyQt4.QtGui.pyd" />
            </Component>		  

            <Component
                Id="sip"
                Guid="DCCE0979-A0A6-475D-B6CD-3173740593F9">
              <File
                  Id="sip"
                  Name="sip.pyd"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\sip.pyd" />
            </Component>

            <Component
                Id="kdiff3"
                Guid="6BA0CB20-F426-42AB-A95A-615A4FF87752">
              <File
                  Id="kdiff3"
                  Name="kdiff3.exe"
                  DiskId="1"
                  Source="d:\easyhg-bundle-dependencies\kdiff3.exe"
                  KeyPath="yes"/>
            </Component>		  

	    <Directory Id="Crypto" Name="Crypto">
	      <Directory Id="Cipher" Name="Cipher">
		<Component
		    Id="cryptocipher"
		    Guid="FB7C7C7E-FC62-4024-9E7E-47034B416286">
		  <File
		      Id="cipherinit"
		      Name="__init__.py"
		      DiskId="1"
		      Source="d:\easyhg-bundle-dependencies\Crypto\Cipher\__init__.py" />
		  <File
		      Id="cipheraesd"
		      Name="_AES.pyd"
		      DiskId="1"
		      Source="d:\easyhg-bundle-dependencies\Crypto\Cipher\_AES.pyd" />
		  <File
		      Id="cipheraes"
		      Name="AES.py"
		      DiskId="1"
		      Source="d:\easyhg-bundle-dependencies\Crypto\Cipher\AES.py" />
		  <File
		      Id="cipherblockalgo"
		      Name="blockalgo.py"
		      DiskId="1"
		      Source="d:\easyhg-bundle-dependencies\Crypto\Cipher\blockalgo.py" />
		</Component>
	      </Directory>
	      <Directory Id="Util" Name="Util">
		
		<Component
		    Id="cryptoutil"
		    Guid="9B5FB64F-B5B3-4E36-A4E6-1EC648470557">
		  <File
		      Id="utilinit"
		      Name="__init__.py"
		      DiskId="1"
		      Source="d:\easyhg-bundle-dependencies\Crypto\Util\__init__.py" />
		  <File
		      Id="utilpy3compat"
		      Name="py3compat.py"
		      DiskId="1"
		      Source="d:\easyhg-bundle-dependencies\Crypto\Util\py3compat.py" />
		</Component>
	      </Directory>
	      
	      <Component
		  Id="crypto"
		  Guid="AB5D6864-6D47-4C51-A132-5E0EC5BE1EF8">
		<File
		    Id="cryptoinit"
		    Name="__init__.py"
		    DiskId="1"
		    Source="d:\easyhg-bundle-dependencies\Crypto\__init__.py" />
	      </Component>

	    </Directory>

        </Directory>
      </Directory>

      <Directory Id="ProgramMenuFolder" Name="Programs">
        <Directory Id="ProgramMenuDir" Name="EasyMercurial">
          <Component Id="ProgramMenuDir" Guid="2E8BDEA0-A6E4-4607-854D-E317A23A535B">
            <RemoveFolder Id="ProgramMenuDir" On="uninstall"/>
            <RegistryValue Root="HKMU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes"/>
          </Component>
        </Directory>
      </Directory>

      <Directory Id="DesktopFolder" Name="Desktop"/>

    </Directory>

    <Feature Id="Complete" Level="1">
      <ComponentRef Id="MainExecutable"/>
      <ComponentRef Id="VCLIBS"/>
      <ComponentRef Id="HelperScripts"/>
      <ComponentRef Id="Qt4"/>
      <ComponentRef Id="hg"/>
      <ComponentRef Id="sip"/>
      <ComponentRef Id="crypto"/>
      <ComponentRef Id="cryptocipher"/>
      <ComponentRef Id="cryptoutil"/>
      <ComponentRef Id="kdiff3"/>
      <ComponentRef Id="ProgramMenuDir"/>
    </Feature>

    <Icon
        Id="easyhg.ico"
        SourceFile="easyhg.ico"/>

  </Product>
</Wix>