view deploy/win64/sonic-visualiser.wxs @ 1866:65d244ee39f9

Experimentally add a rule to re-run Repoint if the project or lock file is newer than the .repoint.point file. This sort of thing isn't sufficient for all uses of Repoint because some of the initial qmake project file info is brought in by Repoint, so it has to be run before qmake as well. Also it's not clear yet how it will interact with archived builds (i.e. source releases) -- to be tested.
author Chris Cannam
date Tue, 19 Jun 2018 15:03:24 +0100
parents 4af1e71eaa3f
children 643768964863
line wrap: on
line source
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

  <!-- NB this is specific to a particular Qt and compiler version.
       20th April 2018 - updated for Qt 5.10.1 and MSVC 2017
   -->

  <Product
      Name="Sonic Visualiser" 
      Id="*"
      Language="1033"
      Codepage="1252" 
      Version="3.1"
      UpgradeCode="D476941E-65F3-4962-9E72-B40FAAE5DBD0"
      Manufacturer="Queen Mary, University of London">
    
    <Package
        Id="*"
        Keywords="Installer"
        Description="Sonic Visualiser 64-bit Installer" 
        Comments="Copyright (c) 2018 Queen Mary, University of London and others."
        Manufacturer="Queen Mary, University of London" 
        InstallerVersion="200"
        Languages="1033" 
        Compressed="yes" 
        Platform="x64"
        SummaryCodepage="1252"/>

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

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

    <Directory Id="TARGETDIR" Name="SourceDir">

      <Directory Id="ProgramFiles64Folder" Name="PFiles64">
        <Directory Id="VampPlugins" Name="Vamp Plugins">
          <Component Win64="yes"
              Id="VampPlugins"
              Guid="528C7D7E-5A06-4E7D-89BB-7C16431DF82F">
            <File
                Id="VampREADME"
                Name="README.txt"
                Source="..\deploy\win64\README-Vamp.txt"/>
          </Component>
        </Directory>

        <Directory Id="APPLICATIONFOLDER" Name="Sonic Visualiser">

          <Component Win64="yes"
              Id="MainExecutable"
              Guid="65E1EBDF-4C8F-47B8-BCD6-981667F5946D">

            <File
                Id="SVExecutable"
                Name="Sonic Visualiser.exe"
                Source="release\Sonic Visualiser.exe"
                KeyPath="yes">

              <Shortcut
                  Id="SVStartEntry"
                  Directory="ProgramMenuDir"
                  Name="Sonic Visualiser"
                  WorkingDirectory="APPLICATIONFOLDER"
                  Icon="winicon.ico"
                  IconIndex="0"
                  Advertise="yes"/>

              <Shortcut
                  Id="SVDesktop"
                  Directory="DesktopFolder"
                  Name="Sonic Visualiser"
                  WorkingDirectory="APPLICATIONFOLDER"
                  Icon="winicon.ico"
                  IconIndex="0"
                  Advertise="yes"/>
            </File>

            <File
                Id="COPYING"
                Name="COPYING.txt"
                Source="..\COPYING"/>
            <File
                Id="README"
                Name="README.txt"
                Source="..\README.md"/>
            <File
                Id="CHANGELOG"
                Name="CHANGELOG.txt"
                Source="..\CHANGELOG"/>

            <File
                Id="winicon.ico"
                Name="sv-winicon.ico"
                Source="..\icons\sv-winicon.ico"/>
          </Component>
          
          <Component Win64="yes"
	      Id="SVFileAssociation"
	      Guid="F07C5CC1-0209-4C1A-8D52-C40B50A2B964">
            
            <CreateFolder/>

            <ProgId 
                Id='SonicVisualiser.svfile' 
                Description='Sonic Visualiser project file'
                Icon="SVExecutable">
              <Extension 
                  Id='sv' 
                  ContentType='application/sonicvisualiser'>
                <Verb 
                    Id='open' 
                    Command='Open' 
                    TargetFile='SVExecutable' 
                    Argument='"%1"' />
              </Extension>
            </ProgId>
            
          </Component>
          
          <Component Win64="yes"
              Id="Qt5"
              Guid="5495ED5E-939A-4BE8-9000-D55F2A7A2E90">
            <File
                Id="QtCore"
                Name="Qt5Core.dll"
                Source="release\Qt5Core.dll"
		KeyPath="yes"/>
            <File
                Id="QtGui"
                Name="Qt5Gui.dll"
                Source="release\Qt5Gui.dll"/>
            <File
                Id="QtNetwork"
                Name="Qt5Network.dll"
                Source="release\Qt5Network.dll"/>
            <File
                Id="QtWidgets"
                Name="Qt5Widgets.dll"
                Source="release\Qt5Widgets.dll"/>
            <File
                Id="QtXml"
                Name="Qt5Xml.dll"
                Source="release\Qt5Xml.dll"/>
            <File
                Id="QtSvg"
                Name="Qt5Svg.dll"
                Source="release\Qt5Svg.dll"/>
          </Component>

          <Component Win64="yes"
                     Id="Sndfile"
                     Guid="04533516-6460-4155-A0D4-E9BA4D31E95C">
            <File
                Id="libsndfile"
                Name="libsndfile-1.dll"
                Source="..\sv-dependency-builds\win64-msvc\lib\libsndfile-1.dll"
                KeyPath="yes"/>
          </Component>

          <Component Win64="yes"
               Id="VCRuntime"
               Guid="251D9513-BBD2-47CF-BE78-EF79446F7683">
               <File
                   Id="concrt140"
                   Name="concrt140.dll"
                   Source="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.14.26405\x64\Microsoft.VC141.CRT\concrt140.DLL"
                   KeyPath="yes"/>
               <File
                   Id="msvcp140"
                   Name="msvcp140.dll"
                   Source="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.14.26405\x64\Microsoft.VC141.CRT\msvcp140.DLL"/>
               <File
                   Id="vccorlib140"
                   Name="vccorlib140.dll"
                   Source="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.14.26405\x64\Microsoft.VC141.CRT\vccorlib140.DLL"/>
               <File
                   Id="vcruntime140"
                   Name="vcruntime140.dll"
                   Source="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.14.26405\x64\Microsoft.VC141.CRT\vcruntime140.DLL"/>
          </Component>

	  <Directory Id="Platforms" Name="platforms">
            <Component Win64="yes"
                Id="Qt5PlatformPlugins"
                Guid="1FFB773E-6D6D-4C0E-832B-F0FFEA959CA5">
	      <File
                  Id="qminimal"
                  Name="qminimal.dll"
                  Source="release\qminimal.dll"/>
	      <File
                  Id="qwindows"
                  Name="qwindows.dll"
                  Source="release\qwindows.dll"/>
            </Component>
	  </Directory>

	  <Directory Id="Helpers" Name="helpers">
            <Component Win64="yes"
                Id="Piper64"
                Guid="6385BD86-A5D3-4C77-AD41-B2DCA5B34E48">
	      <File
		  Id="piperconv64"
		  Name="piper-convert.exe"
		  Source="release\piper-convert.exe"/>
	      <File
		  Id="piper64"
		  Name="piper-vamp-simple-server.exe"
		  Source="release\piper-vamp-simple-server.exe"/>
	    </Component>
            <Component Win64="yes"
                Id="Piper32"
                Guid="F27A00A8-DD03-45B0-A13C-8CD8CC6F7386">
	      <File
		  Id="piper32"
		  Name="piper-vamp-simple-server-32.exe"
		  Source="..\build_win32\release\piper-vamp-simple-server.exe"/>
	      <File
                  Id="libgcc32"
                  Name="libgcc_s_dw2-1.dll"
                  Source="..\build_win32\release\libgcc_s_dw2-1.dll"/>
	      <File
                  Id="libstdcplusplus32"
                  Name="libstdc++-6.dll"
                  Source="..\build_win32\release\libstdc++-6.dll"/>
	      <File
                  Id="libwinpthread32"
                  Name="libwinpthread-1.dll"
                  Source="..\build_win32\release\libwinpthread-1.dll"/>
	    </Component>
            <Component Win64="yes"
                Id="Checker64"
                Guid="19A400D9-D5B2-4CB5-AF84-7C1DEA11D7B5">
	      <File
		  Id="checker64"
		  Name="vamp-plugin-load-checker.exe"
		  Source="release\vamp-plugin-load-checker.exe"/>
	    </Component>
            <Component Win64="yes"
                Id="Checker32"
                Guid="4F3FDFEC-23BD-4F2F-9B8F-9C8387FDEC21">
	      <File
		  Id="checker32"
		  Name="vamp-plugin-load-checker-32.exe"
		  Source="..\build_win32\release\vamp-plugin-load-checker.exe"/>
	    </Component>
	    
	  </Directory> <!-- helpers -->
	</Directory> <!-- sv -->
      </Directory> <!-- pfiles64 -->

      <Directory Id="ProgramFilesFolder" Name="PFiles">
        <Directory Id="Vamp32Plugins" Name="Vamp Plugins">
          <Component
              Id="Vamp32Plugins"
              Guid="62d23999-63ed-4937-b904-ec8e47a776d1">
            <File
                Id="Vamp32README"
                Name="README.txt"
                Source="..\deploy\win64\README-Vamp32.txt"/>
          </Component>
        </Directory>
      </Directory>

      <Directory Id="ProgramMenuFolder" Name="Programs">
        <Directory Id="ProgramMenuDir" Name="Sonic Visualiser">
          <Component Id="ProgramMenuDir" Guid="C1980FF3-D135-46F8-8542-F937748721E6">
            <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"
	Title="Required files"
	Description="Installs the required files for running Sonic Visualiser."
	AllowAdvertise="no"
	Absent="disallow"
	ConfigurableDirectory="APPLICATIONFOLDER"
	Level="1">
      <ComponentRef Id="VampPlugins"/>
      <ComponentRef Id="MainExecutable"/>
      <ComponentRef Id="SVFileAssociation"/>
      <ComponentRef Id="Sndfile"/>
      <ComponentRef Id="Qt5"/>
      <ComponentRef Id="VCRuntime"/>
      <ComponentRef Id="Qt5PlatformPlugins"/>
      <ComponentRef Id="Piper64"/>
      <ComponentRef Id="Piper32"/>
      <ComponentRef Id="Checker64"/>
      <ComponentRef Id="Checker32"/>
      <ComponentRef Id="Vamp32Plugins"/>
      <ComponentRef Id="ProgramMenuDir"/>
    </Feature>

    <UI>
      <UIRef Id="WixUI_InstallDir" />
      <UIRef Id="WixUI_ErrorProgressText" />
    </UI>

    <Property Id="WIXUI_INSTALLDIR" Value="APPLICATIONFOLDER" />
    <Property Id="WIXUI_DONTVALIDATEPATH" Value="1" />
    <Property Id="ApplicationFolderName" Value="Sonic Visualiser" />
    <Property Id="WixAppFolder" Value="WixPerMachineFolder" />
    <WixVariable Id="WixUILicenseRtf" Value="..\deploy\win64\License.rtf" />
    
    <Icon Id="winicon.ico" SourceFile="..\icons\sv-winicon.ico"/>
    <Property Id="ARPPRODUCTICON" Value="winicon.ico" />

    <WixVariable Id="WixUIBannerBmp" Value="..\deploy\win32\top.bmp"/>
    <WixVariable Id="WixUIDialogBmp" Value="..\deploy\win32\main.bmp"/>

  </Product>
</Wix>