Mercurial > hg > easyhg
changeset 687:1add6167eb3c
More on Win32 packaging
author | Chris Cannam |
---|---|
date | Sun, 09 Dec 2018 16:43:19 +0000 |
parents | c80a1dac9fda |
children | 8ec848c6a4b4 |
files | deploy/win32/build-and-package.bat deploy/win32/easyhg.wxs |
diffstat | 2 files changed, 206 insertions(+), 175 deletions(-) [+] |
line wrap: on
line diff
--- a/deploy/win32/build-and-package.bat Sun Dec 09 15:22:36 2018 +0000 +++ b/deploy/win32/build-and-package.bat Sun Dec 09 16:43:19 2018 +0000 @@ -100,6 +100,13 @@ @echo Signing components signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 *.dll *.exe lib\* signtool verify /pa sonic-visualiser.msi +rem AND MORE ) +set PATH=%PATH%;"C:\Program Files (x86)\WiX Toolset v3.11\bin" + +del easyhg.msi +candle -v ..\..\deploy\win32\easyhg.wxs +light -b . -ext WixUIExtension -ext WixUtilExtension -v easyhg.wixobj + rem Todo: the rest
--- a/deploy/win32/easyhg.wxs Sun Dec 09 15:22:36 2018 +0000 +++ b/deploy/win32/easyhg.wxs Sun Dec 09 16:43:19 2018 +0000 @@ -5,7 +5,7 @@ Id="*" Language="1033" Codepage="1252" - Version="1.3.0" + Version="1.4.0" UpgradeCode="B82DFDA9-B9DE-49BC-93E5-0B96F9DEB04B" Manufacturer="Queen Mary, University of London"> @@ -13,7 +13,7 @@ Id="*" Keywords="Installer" Description="EasyMercurial Installer" - Comments="Copyright (c) 2012 Queen Mary, University of London and others." + Comments="Copyright (c) 2012-2018 Queen Mary, University of London and others." Manufacturer="Queen Mary, University of London" InstallerVersion="100" Languages="1033" @@ -37,7 +37,7 @@ Id="EasyHg" Name="EasyMercurial.exe" DiskId="1" - Source="release\EasyMercurial.exe" + Source="EasyMercurial.exe" KeyPath="yes"> <Shortcut @@ -63,13 +63,13 @@ Id="COPYING" Name="COPYING" DiskId="1" - Source="COPYING"/> + Source="..\..\COPYING"/> <File Id="easyhg.ico" Name="easyhg.ico" DiskId="1" - Source="easyhg.ico"/> + Source="..\..\easyhg.ico"/> </Component> <Component @@ -80,198 +80,222 @@ Id="mergebat" Name="easyhg-merge.bat" DiskId="1" - Source="easyhg-merge.bat" + Source="..\..\easyhg-merge.bat" KeyPath="yes"/> </Component> <Component - Id="VCLIBS" + Id="VCLIBS140" Guid="2566C8F0-A2AD-40E9-A356-94E887CC1222"> <File - Id="MSVCP100" - Name="MSVCP100.dll" + Id="MSVCP140" + Name="MSVCP140.dll" DiskId="1" - Source="c:\windows\system32\MSVCP100.DLL" + Source="MSVCP140.DLL" KeyPath="yes"/> <File - Id="MSVCR100" - Name="MSVCR100.dll" + Id="CONCRT140" + Name="CONCRT140.dll" DiskId="1" - Source="c:\windows\system32\MSVCR100.DLL"/> + Source="CONCRT140.DLL"/> + <File + Id="VCCORLIB140" + Name="VCCORLIB140.dll" + DiskId="1" + Source="VCCORLIB140.DLL"/> + <File + Id="VCRUNTIME140" + Name="VCRUNTIME140.dll" + DiskId="1" + Source="VCRUNTIME140.DLL"/> </Component> <Component - Id="Qt4" + Id="VCLIBS90" + Guid="dfa7bdd3-0976-4cde-b2cd-2ae280ad7c65"> + <File + Id="MSVCP90" + Name="MSVCP90.dll" + DiskId="1" + Source="MSVCP90.DLL" + KeyPath="yes"/> + <File + Id="MSVCM90" + Name="MSVCM90.dll" + DiskId="1" + Source="MSVCM90.DLL"/> + <File + Id="MSVCR90" + Name="MSVCR90.dll" + DiskId="1" + Source="MSVCR90.DLL"/> + </Component> + + <Component + Id="Qt5" Guid="04F730AC-B361-45A2-B1CC-9CEB55256117"> <File Id="QtCore" - Name="QtCore4.dll" + Name="Qt5Core.dll" DiskId="1" - Source="d:\easyhg-bundle-dependencies\QtCore4.dll" + Source="Qt5Core.dll" KeyPath="yes"/> <File Id="QtGui" - Name="QtGui4.dll" + Name="Qt5Gui.dll" DiskId="1" - Source="d:\easyhg-bundle-dependencies\QtGui4.dll"/> + Source="Qt5Gui.dll"/> + <File + Id="QtWidgets" + Name="Qt5Widgets.dll" + DiskId="1" + Source="Qt5Widgets.dll"/> <File Id="QtNetwork" - Name="QtNetwork4.dll" + Name="Qt5Network.dll" DiskId="1" - Source="d:\easyhg-bundle-dependencies\QtNetwork4.dll"/> + Source="Qt5Network.dll"/> + <File + Id="QtPrintSupport" + Name="Qt5PrintSupport.dll" + DiskId="1" + Source="Qt5PrintSupport.dll"/> + <File + Id="qminimal" + Name="qminimal.dll" + DiskId="1" + Source="qminimal.dll"/> + <File + Id="qwindows" + Name="qwindows.dll" + DiskId="1" + Source="qwindows.dll"/> + <File + Id="qwindowsvistastyle" + Name="qwindowsvistastyle.dll" + DiskId="1" + Source="qwindowsvistastyle.dll"/> </Component> <Component - Id="hg" + Id="hgexec" Guid="5BBC4080-2EDF-4616-A8CB-F96B9C942C1A"> - <File Id="hg" Name="hg.exe" DiskId="1" - Source="d:\easyhg-bundle-dependencies\hg.exe" + Source="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> + Source="python27.dll"/> + </Component> + + <Directory Id="HgLibs" Name="lib"> + <Component + Id="hglibs" + Guid="bb6ab2ba-1358-47d4-9457-eb4094605620"> + <File + Id="hglib" + Name="library.zip" + DiskId="1" + Source="lib\library.zip"/> + <!-- + <File + Id="plink" + Name="TortoisePlink.exe" + DiskId="1" + Source="lib\TortoisePlink.exe"/> + --> + <File + Id="ctypes" + Name="_ctypes.pyd" + DiskId="1" + Source="lib\_ctypes.pyd"/> + <File + Id="elementtree" + Name="_elementtree.pyd" + DiskId="1" + Source="lib\_elementtree.pyd"/> + <File + Id="hashlib" + Name="_hashlib.pyd" + DiskId="1" + Source="lib\_hashlib.pyd"/> + <File + Id="socket" + Name="_socket.pyd" + DiskId="1" + Source="lib\_socket.pyd"/> + <File + Id="ssl" + Name="_ssl.pyd" + DiskId="1" + Source="lib\_ssl.pyd"/> + <File + Id="testcapi" + Name="_testcapi.pyd" + DiskId="1" + Source="lib\_testcapi.pyd"/> + <File + Id="bz" + Name="bz2.pyd" + DiskId="1" + Source="lib\bz2.pyd"/> + <File + Id="pywatchman" + Name="hgext.fsmonitor.pywatchman.bser.pyd" + DiskId="1" + Source="lib\hgext.fsmonitor.pywatchman.bser.pyd"/> + <File + Id="mercurialbase" + Name="mercurial.cext.base85.pyd" + DiskId="1" + Source="lib\mercurial.cext.base85.pyd"/> + <File + Id="mercurialbdiff" + Name="mercurial.cext.bdiff.pyd" + DiskId="1" + Source="lib\mercurial.cext.bdiff.pyd"/> + <File + Id="mercurialmpatch" + Name="mercurial.cext.mpatch.pyd" + DiskId="1" + Source="lib\mercurial.cext.mpatch.pyd"/> + <File + Id="mercurialosutil" + Name="mercurial.cext.osutil.pyd" + DiskId="1" + Source="lib\mercurial.cext.osutil.pyd"/> + <File + Id="mercurialparsers" + Name="mercurial.cext.parsers.pyd" + DiskId="1" + Source="lib\mercurial.cext.parsers.pyd"/> + <File + Id="mercurialzstd" + Name="mercurial.zstd.pyd" + DiskId="1" + Source="lib\mercurial.zstd.pyd"/> + <File + Id="pyexpat" + Name="pyexpat.pyd" + DiskId="1" + Source="lib\pyexpat.pyd"/> + <File + Id="select" + Name="select.pyd" + DiskId="1" + Source="lib\select.pyd"/> + <File + Id="unicodedata" + Name="unicodedata.pyd" + DiskId="1" + Source="lib\unicodedata.pyd"/> + </Component> + </Directory> <Component Id="sip" @@ -280,7 +304,7 @@ Id="sip" Name="sip.pyd" DiskId="1" - Source="d:\easyhg-bundle-dependencies\sip.pyd" /> + Source="sip.pyd" /> </Component> <Component @@ -290,7 +314,7 @@ Id="kdiff3" Name="kdiff3.exe" DiskId="1" - Source="d:\easyhg-bundle-dependencies\kdiff3.exe" + Source="kdiff3.exe" KeyPath="yes"/> </Component> @@ -303,26 +327,25 @@ Id="cipherinit" Name="__init__.py" DiskId="1" - Source="d:\easyhg-bundle-dependencies\Crypto\Cipher\__init__.py" /> + Source="Crypto\Cipher\__init__.py" /> <File Id="cipheraesd" Name="_AES.pyd" DiskId="1" - Source="d:\easyhg-bundle-dependencies\Crypto\Cipher\_AES.pyd" /> + Source="Crypto\Cipher\_AES.pyd" /> <File Id="cipheraes" Name="AES.py" DiskId="1" - Source="d:\easyhg-bundle-dependencies\Crypto\Cipher\AES.py" /> + Source="Crypto\Cipher\AES.py" /> <File Id="cipherblockalgo" Name="blockalgo.py" DiskId="1" - Source="d:\easyhg-bundle-dependencies\Crypto\Cipher\blockalgo.py" /> + Source="Crypto\Cipher\blockalgo.py" /> </Component> </Directory> <Directory Id="Util" Name="Util"> - <Component Id="cryptoutil" Guid="9B5FB64F-B5B3-4E36-A4E6-1EC648470557"> @@ -330,15 +353,14 @@ Id="utilinit" Name="__init__.py" DiskId="1" - Source="d:\easyhg-bundle-dependencies\Crypto\Util\__init__.py" /> + Source="Crypto\Util\__init__.py" /> <File Id="utilpy3compat" Name="py3compat.py" DiskId="1" - Source="d:\easyhg-bundle-dependencies\Crypto\Util\py3compat.py" /> + Source="Crypto\Util\py3compat.py" /> </Component> </Directory> - <Component Id="crypto" Guid="AB5D6864-6D47-4C51-A132-5E0EC5BE1EF8"> @@ -346,7 +368,7 @@ Id="cryptoinit" Name="__init__.py" DiskId="1" - Source="d:\easyhg-bundle-dependencies\Crypto\__init__.py" /> + Source="Crypto\__init__.py" /> </Component> </Directory> @@ -369,10 +391,12 @@ <Feature Id="Complete" Level="1"> <ComponentRef Id="MainExecutable"/> - <ComponentRef Id="VCLIBS"/> + <ComponentRef Id="VCLIBS140"/> + <ComponentRef Id="VCLIBS90"/> <ComponentRef Id="HelperScripts"/> - <ComponentRef Id="Qt4"/> - <ComponentRef Id="hg"/> + <ComponentRef Id="Qt5"/> + <ComponentRef Id="hgexec"/> + <ComponentRef Id="hglibs"/> <ComponentRef Id="sip"/> <ComponentRef Id="crypto"/> <ComponentRef Id="cryptocipher"/> @@ -383,7 +407,7 @@ <Icon Id="easyhg.ico" - SourceFile="easyhg.ico"/> + SourceFile="..\..\easyhg.ico"/> </Product> </Wix>