view deploy/win32/sonic-visualiser.wxs @ 833:9e4b7c7a90b5

Fix some potential null-pointer derefs, and simplify some logic where loops were used with an unconditional "break" that meant they could only happen once (from coverity scan)
author Chris Cannam
date Wed, 03 Sep 2014 12:04:22 +0100
parents d8ad6422c854
children 4a7c62938a13 cfbea29fae64
line wrap: on
line source
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

  <Product
      Name="Sonic Visualiser" 
      Id="*"
      Language="1033"
      Codepage="1252" 
      Version="2.3.90"
      UpgradeCode="D476941E-65F3-4962-9E72-B40FAAE5DBD0"
      Manufacturer="Queen Mary, University of London">
    
    <Package
        Id="*"
        Keywords="Installer"
        Description="Sonic Visualiser Installer" 
        Comments="Copyright (c) 2014 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 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="ProgramFilesFolder" Name="PFiles">
        <Directory Id="VampPlugins" Name="Vamp Plugins">
            <Component
                Id="VampPlugins"
                Guid="E68E4E0B-3C63-49bd-AD2D-44431EABDA6A">
                <File
                    Id="VampREADME"
                    Name="README.txt"
                    DiskId="1"
                    Source="deploy\win32\README-Vamp.txt"/>
            </Component>
        </Directory>
        <Directory Id="APPLICATIONFOLDER" Name="Sonic Visualiser">
            
            <Component
                Id="MainExecutable"
                Guid="2C02DFB7-3CDF-4F73-B9D1-846326EE417D">

              <File
                  Id="SVExecutable"
                  Name="Sonic Visualiser.exe"
                  DiskId="1"
                  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"
                  DiskId="1"
                  Source="COPYING"/>
              <File
                  Id="README"
                  Name="README"
                  DiskId="1"
                  Source="README"/>
              <File
                  Id="CHANGELOG"
                  Name="CHANGELOG"
                  DiskId="1"
                  Source="CHANGELOG"/>

              <File
                  Id="winicon.ico"
                  Name="sv-winicon.ico"
                  DiskId="1"
                  Source="icons/sv-winicon.ico"/>
            </Component>
            
            <Component
              Id="SVFileAssociation"
              Guid="DC6B3DD1-46DE-47FC-90FB-D8ACD5D1A88A">
              
              <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
                Id="Qt5"
                Guid="316341D4-B7B2-411D-BCCE-879A11D5709F">
              <File
                  Id="QtCore"
                  Name="Qt5Core.dll"
                  DiskId="1"
                  Source="release\Qt5Core.dll"
		  KeyPath="yes"/>
              <File
                  Id="QtGui"
                  Name="Qt5Gui.dll"
                  DiskId="1"
                  Source="release\Qt5Gui.dll"/>
              <File
                  Id="QtNetwork"
                  Name="Qt5Network.dll"
                  DiskId="1"
                  Source="release\Qt5Network.dll"/>
              <File
                  Id="QtWidgets"
                  Name="Qt5Widgets.dll"
                  DiskId="1"
                  Source="release\Qt5Widgets.dll"/>
              <File
                  Id="QtXml"
                  Name="Qt5Xml.dll"
                  DiskId="1"
                  Source="release\Qt5Xml.dll"/>
              <File
                  Id="icudt52"
                  Name="icudt52.dll"
                  DiskId="1"
                  Source="release\icudt52.dll"/>
              <File
                  Id="icuin52"
                  Name="icuin52.dll"
                  DiskId="1"
                  Source="release\icuin52.dll"/>
              <File
                  Id="icuuc52"
                  Name="icuuc52.dll"
                  DiskId="1"
                  Source="release\icuuc52.dll"/>
              <File
                  Id="libgcc"
                  Name="libgcc_s_dw2-1.dll"
                  DiskId="1"
                  Source="release\libgcc_s_dw2-1.dll"/>
              <File
                  Id="libstdcplusplus"
                  Name="libstdc++-6.dll"
                  DiskId="1"
                  Source="release\libstdc++-6.dll"/>
              <File
                  Id="libwinpthread"
                  Name="libwinpthread-1.dll"
                  DiskId="1"
                  Source="release\libwinpthread-1.dll"/>
            </Component>
	    
	    <Directory Id="Platforms" Name="platforms">
              <Component
                  Id="Qt5PlatformPlugins"
                  Guid="1EDCEA4B-C83F-430B-B09D-CB113DFD4E77">
		<File
                    Id="qminimal"
                    Name="qminimal.dll"
                    DiskId="1"
                    Source="release\qminimal.dll"/>
		<File
                    Id="qwindows"
                    Name="qwindows.dll"
                    DiskId="1"
                    Source="release\qwindows.dll"/>
              </Component>
	    </Directory>

        </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="Qt5"/>
      <ComponentRef Id="Qt5PlatformPlugins"/>
      <ComponentRef Id="ProgramMenuDir"/>
    </Feature>

    <UI>
      <UIRef Id="WixUI_InstallDir" />
      <UIRef Id="WixUI_ErrorProgressText" />
    </UI>
		
    <Property Id="WIXUI_INSTALLDIR" Value="APPLICATIONFOLDER" />
    <Property Id="ApplicationFolderName" Value="Sonic Visualiser" />
    <Property Id="WixAppFolder" Value="WixPerMachineFolder" />
    <WixVariable Id="WixUILicenseRtf" Value="License.rtf" />
    
    <Icon Id="winicon.ico" SourceFile="icons/sv-winicon.ico"/>
    <Property Id="ARPPRODUCTICON" Value="winicon.ico" />
        
  </Product>
</Wix>