diff options
author | Be <be@mixxx.org> | 2020-12-14 05:17:19 -0600 |
---|---|---|
committer | Be <be@mixxx.org> | 2020-12-14 05:17:19 -0600 |
commit | dff536b605f2024ca731e521fd765ca7c7f6e224 (patch) | |
tree | 622240b547ca847d9ace22505afb59dea83c001d /build/wix/mixxx.wxs | |
parent | 244674929a7f66d93c168f173754868fdd801ba1 (diff) | |
parent | 13fd25a00ff9bbfb9f0c80ca78ae6c4111b7abdf (diff) |
Merge remote-tracking branch 'upstream/2.3' into main
Diffstat (limited to 'build/wix/mixxx.wxs')
-rw-r--r-- | build/wix/mixxx.wxs | 469 |
1 files changed, 0 insertions, 469 deletions
diff --git a/build/wix/mixxx.wxs b/build/wix/mixxx.wxs deleted file mode 100644 index 6931b591ac..0000000000 --- a/build/wix/mixxx.wxs +++ /dev/null @@ -1,469 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> - - <!-- - Need some Wix resources ? See - https://helgeklein.com/blog/2014/09/real-world-example-wix-msi-application-installer/ - https://www.firegiant.com/wix/tutorial/getting-started/ - https://msdn.microsoft.com/en-us/library/aa368269%28VS.85%29.aspx - http://weblogs.sqlteam.com/mladenp/archive/2010/02/23/WiX-3-Tutorial-Generating-filedirectory-fragments-with-Heat.exe.aspx - https://bitbucket.org/scons/scons/wiki/WiX_Tool - http://blogs.technet.com/b/alexshev/archive/2008/02/10/from-msi-to-wix.aspx - http://stackoverflow.com/questions/15305718/removing-unwanted-nodes-from-wxs-file-by-applying-xslt-tranfsormation/15306740#15306740 - --> - - <!-- - ==================================================================================== - Includes - --> - - <?include ProductID.wxi ?> - - <!-- - ==================================================================================== - Defines & Variables - --> - - <!-- Full version number to display --> - <?define VersionNumber="!(bind.FileVersion.mixxxExe)" ?> - - <!-- - Upgrade code HAS to be the same for all updates. - Once you've chosen it don't change it. - !!! DO NOT REUSE IN ANY OTHER PROJECT !!! - --> - <?define UpgradeCode="921DC99C-4DCF-478D-B950-50685CB9E6BE" ?> - - <!-- The URL for add/remove programs --> - <?define InfoURL="http://mixxx.org/" ?> - - <!-- 32-bit / 64-bit variables --> - <?if $(var.Platform) = x64 ?> - <?define Win64 = "yes" ?> - <?define arch = "64" ?> - <?define notarch = "32" ?> - <?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?> - <?define baseBuildDir = "..\.." ?> - <?else ?> - <?define Win64 = "no" ?> - <?define arch = "32" ?> - <?define notarch = "64" ?> - <?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?> - <?define baseBuildDir = "..\.." ?> - <?endif ?> - - <?define SourceDir="$(var.baseBuildDir)\dist$(var.arch)"?> - - <!-- - ==================================================================================== - Package start - --> - - <!-- The upgrade code must never change as long as the product lives! --> - <!-- Product IDs must be autogenerated (*) or else major upgrades will not work --> - <Product Id="$(var.ProductID)" - Name="!(loc.ApplicationName)" - Language="!(loc.Language)" - Version="$(var.VersionNumber)" - Manufacturer="!(loc.ManufacturerFullName)" - UpgradeCode="$(var.UpgradeCode)" > - - <!-- Package IDs are valid for a single package version only - they are autogenerated by WiX --> - <!-- Let's require Windows Installer 4.0 (included in Vista) --> - <!-- And ALWAYS install per machine!!! --> - <Package Id="*" - Keywords="Installer" - InstallerVersion="200" - Compressed="yes" - InstallScope="perMachine" - Description="!(loc.ProductDescription)" - Manufacturer="!(loc.ManufacturerFullName)" - Comments="!(loc.Comments) $(var.VersionNumber)" - Platform="$(var.Platform)" /> - - <!-- Define icons (ID should not be longer than 18 chars and must end with ".exe") --> - <Icon Id="Icon.exe" SourceFile="$(var.baseBuildDir)\res\images\ic_mixxx.ico" /> - <Icon Id="Manual.ico" SourceFile="images\manual.ico" /> - - <!-- Set properties for add/remove programs --> - <Property Id="ARPPRODUCTICON" Value="Icon.exe" /> - <Property Id="ARPHELPLINK" Value="$(var.InfoURL)" /> - <!-- Property Id="ARPNOREPAIR" Value="yes" Secure="yes" / --> <!-- Remove repair --> - <!-- Property Id="ARPNOMODIFY" Value="yes" Secure="yes" / --> <!-- Remove modify --> - - <!-- Upgrade logic --> - <!-- AllowSameVersionUpgrades -> Always upgrade, never allow two versions to be installed next to each other --> - <!-- AllowSameVersionUpgrades causes ICE61 which must be ignored --> - <MajorUpgrade DowngradeErrorMessage="!(loc.NewerInstalled)" AllowSameVersionUpgrades="yes" /> - - <!-- - ==================================================================================== - Set Properties - --> - - <!-- True if VC redistributables are installed --> - <Property Id="VCREDISTINSTALLED"> - <?if $(var.Platform) = x86 ?> - <RegistrySearch Id="VCRedistInstalledSearch" - Root="HKLM" - Key="SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x86" - Name="Installed" - Type="raw" - Win64="no" /> - <?else?> - <RegistrySearch Id="VCRedistInstalledSearch" - Root="HKLM" - Key="SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64" - Name="Installed" - Type="raw" - Win64="yes" /> - <?endif?> - </Property> - - <!-- This will search if mixxx is already installed in another bitWidth --> - <Property Id="OTHERBITWIDTHINSTALLED"> - <RegistrySearch Id="BitWidthInstalledSearch" - Root="HKLM" - Key="SOFTWARE\!(loc.ApplicationName)" - Name="installed$(var.notarch)" - Type="raw" - Win64="no" /> - </Property> - - <!-- Look for old mixxx installation <= 2.0 --> - <Property Id="OLDERINSTALLEXISTS"> - <?if $(var.Platform) = x86 ?> - <DirectorySearch Id="CheckFileDir" Path="[ProgramFilesFolder]\Mixxx"> - <FileSearch Id="CheckFile" Name="UninstallMixxx.exe" /> - </DirectorySearch> - <?else?> - <DirectorySearch Id="CheckFileDir" Path="[ProgramFiles64Folder]\Mixxx"> - <FileSearch Id="CheckFile" Name="UninstallMixxx.exe" /> - </DirectorySearch> - <?endif?> - </Property> - - <!-- This is the main installer sequence run when the product is actually installed --> - <InstallExecuteSequence> - - <!-- Determine the install location after the install path has been validated by the installer --> - <Custom Action="SetARPINSTALLLOCATION" After="InstallValidate" /> - - </InstallExecuteSequence> - - <!-- - ==================================================================================== - Custom Actions - --> - - <!-- Set up ARPINSTALLLOCATION property (http://blogs.technet.com/b/alexshev/archive/2008/02/09/from-msi-to-wix-part-2.aspx) --> - <CustomAction Id="SetARPINSTALLLOCATION" Property="ARPINSTALLLOCATION" Value="[INSTALLDIR]" /> - - <!-- Display XP warning --> - <CustomAction Id="DisplayXPWarning" Script="vbscript"> - <![CDATA[ - Dim rec - Set rec = Session.Installer.CreateRecord(1) - rec.StringData(0) = "!(loc.XPWarning)" - Session.Message &H02000030,rec - ]]> - </CustomAction> - - <!-- Display x86 version warning on 64 bits OS --> - <CustomAction Id="Displayx86VersionWarning" Script="vbscript"> - <![CDATA[ - Dim rec - Set rec = Session.Installer.CreateRecord(1) - rec.StringData(0) = "!(loc.x86VersionWarning)" - Session.Message &H02000030,rec - ]]> - </CustomAction> - - <!-- Display warning when installing another Mixxx bitwidth is already installed --> - <?if $(var.Platform) = x86 ?> - <CustomAction Id="DisplayBitWidthMismatchWarning" Script="vbscript"> - <![CDATA[ - Dim rec - Set rec = Session.Installer.CreateRecord(1) - rec.StringData(0) = "!(loc.bitWidthMismatch32)" - Session.Message &H02000030,rec - ]]> - </CustomAction> - <?else?> - <!-- Display warning when installing another Mixxx bitwidth is already installed --> - <CustomAction Id="DisplayBitWidthMismatchWarning" Script="vbscript"> - <![CDATA[ - Dim rec - Set rec = Session.Installer.CreateRecord(1) - rec.StringData(0) = "!(loc.bitWidthMismatch64)" - Session.Message &H02000030,rec - ]]> - </CustomAction> - <?endif?> - - <!-- License agreement --> - <WixVariable Id="WixUILicenseRtf" Value="LICENSE.rtf" /> - - <!-- - Launch conditions - - 1. Check minimum OS version (601 = Windows 7) - If not, the installation is aborted. - By doing the (Installed OR ...) property means that this condition will only be evaluated if the app is being installed and not on uninstall or changing - - Note: Under a Product element, a condition becomes a LaunchCondition entry. - - When time will come to remove XP support, simply change 501 to 600 for vista or 601 for seven - https://msdn.microsoft.com/en-us/library/aa370556%28v=vs.85%29.aspx - --> - - <!-- minimum OS version check disabled for now because we do not want to enforce installing mixxx on older systems. - Anyway, we display a warning message when installing on XP and below --> - <Condition Message="!(loc.OS2Old)"> - <![CDATA[Installed OR (VersionNT >= 601)]]> - </Condition> - - - <!-- - 2. Check OS bitness - Unfortunately 32-bit MSI packages cannot write to 64-bit ProgramFiles directory. That is the only reason we need separate MSIs for 32-bit and 64-bit. - --> - <?if $(var.Platform) = x64 ?> - <Condition Message="!(loc.x86VersionRequired)"> - <![CDATA[VersionNT64]]> - </Condition> - <?endif?> - - <!-- Commenting this out to allow installing 32bits Mixxx on a 64bits system. Is there a use-case for that ? - <?if $(var.Platform) = x86 ?> - <Condition Message="!(loc.x64VersionRequired)"> - <![CDATA[NOT VersionNT64]]> - </Condition> - <?endif?> - --> - - <!-- Commenting this out to allow installing both 32bits and 64bits Mixxx on a 64bits system. Is there a use-case for that ? - <?if $(var.Platform) = x86 ?> - <Condition Message="!(loc.bitWidthMismatch32)"> - NOT OTHERBITWIDTHINSTALLED - </Condition> - <?else?> - <Condition Message="!(loc.bitWidthMismatch64)"> - NOT OTHERBITWIDTHINSTALLED - </Condition> - <?endif?> - --> - - <Condition Message="!(loc.OlderVersionFound)">NOT OLDERINSTALLEXISTS</Condition> - - <!-- - avoid installing if VC redistributables are not isntalled - (usually not the case because they are installed before this MSI by the bootstrapper) - --> - <Condition Message="!(loc.VCredistNotFound)">VCREDISTINSTALLED</Condition> - - <!-- - Launch conditions end - --> - - <!-- - ==================================================================================== - Start to build directory structure - --> - - <!-- We do not have more than one medium (Floppy, CD, ...). Everything in one file. --> - <Media Id="1" Cabinet="mixxx.cab" EmbedCab="yes" DiskPrompt='Mixxx install source #1' /> - <Property Id='DiskPrompt' Value="!(loc.ApplicationName) $(var.VersionNumber) Installation [1]" /> - - <!-- Outermost folder (kind of virtual). Fixed entry. --> - <Directory Id="TARGETDIR" Name="SourceDir"> - - <Component Id="mixxxRegistry" Guid="*" Win64="no"> - <RegistryValue Root="HKLM" Key="SOFTWARE\!(loc.ApplicationName)" Type="string" Value='' KeyPath="yes" /> - <RegistryValue Root="HKLM" Key="SOFTWARE\!(loc.ApplicationName)" Name="installed" Type="integer" Value="1" /> - <RegistryValue Root="HKLM" Key="SOFTWARE\!(loc.ApplicationName)" Name="installed$(var.arch)" Type="integer" Value="1" /> - </Component> - - <!-- We start building our directory structure here --> - <!-- "ProgramFilesFolder" is a variable containing the absolute path. --> - <!-- For a list of folder variables, see: http://msdn.microsoft.com/en-us/library/aa372057%28VS.85%29.aspx --> - <Directory Id="$(var.PlatformProgramFilesFolder)"> - - <!-- All folders from here on are relative to their parent. --> - - <Directory Id="INSTALLDIR" Name="!(loc.ApplicationName)" FileSource="$(var.SourceDir)\"> - - <!-- Define components, the building blocks of MSIs. --> - <!-- Rule: A component should only contain items that belong together so strongly that they always need to be installed or removed together. --> - <!-- If this means a single file, then your components will contain a single file each. This is not only normal but exactly what you're --> - <!-- to do. Don't be afraid, Windows Installer can efficiently handle thousands of components or more, if needed. --> - - <!-- Main program file --> - <Component Id="mixxx.exe_comp" Guid="*" Win64="$(var.Win64)"> - <File Source="$(var.SourceDir)\mixxx.exe" Id="mixxxExe" KeyPath="yes" DefaultLanguage="1033"> - <Shortcut Id="startmenuShortCut" Directory="ProgramMenuFolder" Name="!(loc.ApplicationName)" - WorkingDirectory='INSTALLDIR' Advertise="yes" Icon="Icon.exe" /> - </File> - <RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\mixxx.exe" Value="[!mixxxExe]" Type="string" /> - </Component> - - <Component Id="LICENSE_comp" Guid="*" Win64="$(var.Win64)"> - <File Source="$(var.baseBuildDir)\LICENSE" Id="LicenceFile" KeyPath="yes" /> - </Component> - - <Component Id="COPYING_comp" Guid="*" Win64="$(var.Win64)"> - <File Source="$(var.baseBuildDir)\COPYING" Id="CopyingFile" KeyPath="yes" /> - </Component> - - <Component Id="README_comp" Guid="*" Win64="$(var.Win64)"> - <File Source="$(var.baseBuildDir)\README" Id="ReadmeFile" KeyPath="yes" /> - </Component> - - <!-- The Manual --> - <Component Id="manual_comp" Guid="*" Win64="$(var.Win64)"> - <File Source="$(var.baseBuildDir)\Mixxx-Manual.pdf" Name='Mixxx-Manual.pdf' Id="manual_pdf" KeyPath="yes" /> - </Component> - - <?if $(var.Imageformats) = "yes" ?> - <!-- QT's imageformats helper DLL. Files defined in imageformats.wxs generated by heat --> - <Directory Id="imageformatsDir" Name="imageformats" /> - <?endif?> - - <!-- fonts. Files defined in fonts.wxs generated by heat --> - <Directory Id="fontsDir" Name="fonts" /> - - <!-- keyboard. Files defined in keyboard.wxs generated by heat --> - <Directory Id="keyboardDir" Name="keyboard" /> - - <!-- controller mappings. Files defined in controllers.wxs generated by heat --> - <Directory Id="controllersDir" Name="controllers" /> - - <!-- skins. Files defined in skins.wxs generated by heat --> - <Directory Id="skinsDir" Name="skins" /> - - <!-- translations. Files defined in translations.wxs generated by heat --> - <Directory Id="translationsDir" Name="translations" /> - - </Directory> - </Directory> - - <!-- The windows program menu folder for our main shortcut --> - <Directory Id="ProgramMenuFolder" Name="Programs" /> - - <!-- The desktop folder, for desktop shortcut --> - <Directory Id="DesktopFolder" Name="Desktop"> - <Component Id="DesktopShortcutComp" Guid="*"> - <Shortcut Id="desktopShortcut" - Name="!(loc.ApplicationName)" - Target="[!mixxxExe]" - WorkingDirectory="INSTALLDIR"/> - <RemoveFolder Id="DesktopFolder" On="uninstall"/> - <RegistryValue - Root="HKCU" - Key="Software\!(loc.ApplicationName)" - Name="DesktopShortcut" - Type="integer" - Value="1" - KeyPath="yes"/> - </Component> - </Directory> - </Directory> - - <!-- - End of directory structure - ==================================================================================== - --> - - <!-- Features define which parts of the application can be installed in a custom installation --> - - <!-- A feature block for the main (GUI) program and all its dependencies --> - <Feature Id="MainProgram" - Title="!(loc.FeatureMainProgramTitle)" - Description="!(loc.FeatureMainProgramDescription)" - AllowAdvertise='no' - Absent='disallow' - InstallDefault='local' - Level="1" - Display="expand"> - <ComponentRef Id='mixxx.exe_comp' /> - <ComponentRef Id='mixxxRegistry' /> - <ComponentGroupRef Id='mainDLLCompGroup' /> - <ComponentRef Id='LICENSE_comp' /> - <ComponentRef Id='COPYING_comp' /> - <ComponentRef Id='README_comp' /> - <?if $(var.Imageformats) = "yes" ?> - <ComponentGroupRef Id='imageformatsComp' /> - <?endif?> - <ComponentGroupRef Id='fontsComp' /> - <ComponentGroupRef Id='keyboardComp' /> - <ComponentGroupRef Id='controllersComp' /> - <ComponentGroupRef Id='skinsComp' /> - - <?if $(var.PDB) = "yes" ?> - <Feature Id="PDBFeature" - Title="!(loc.FeaturePDBTitle)" - Description="!(loc.FeaturePDBDescription)" - AllowAdvertise='no' - InstallDefault='local' - Level="1"> - <ComponentGroupRef Id='mainPDBCompGroup' /> - </Feature> - <?endif?> - - <Feature Id="DesktopShortcutFeature" - Title="!(loc.FeatureDesktopShortcutTitle)" - Description="!(loc.FeatureDesktopShortcutDescription)" - AllowAdvertise='no' - InstallDefault='local' - Level="3"> - <ComponentRef Id="DesktopShortcutComp" /> - </Feature> - - </Feature> - - <!-- A feature block for translations --> - <Feature Id="Translations" - Title="!(loc.FeatureTranslationsTitle)" - Description="!(loc.FeatureTranslationsDescription)" - AllowAdvertise='no' - InstallDefault='local' - Level="1"> - <ComponentGroupRef Id='translationsComp' /> - </Feature> - - <!-- A feature block for the PDF manual --> - <Feature Id="Manual" - Title="!(loc.FeatureManualTitle)" - Description="!(loc.FeatureManualDescription)" - AllowAdvertise='no' - InstallDefault='local' - Level="1"> - <ComponentRef Id='manual_comp' /> - </Feature> - - <!-- Define the installer UI --> - <UIRef Id="WixUI_FeatureTree" /> - <UIRef Id="WixUI_ErrorProgressText" /> - <WixVariable Id="WixUIBannerBmp" Value="images\banner.bmp" /> - <WixVariable Id="WixUIDialogBmp" Value="images\dialog.bmp" /> - - <UI Id="MyWixUI_FeatureTree"> - <UIRef Id="WixUI_FeatureTree" /> - <UIRef Id="WixUI_ErrorProgressText" /> - - <Publish Dialog="WelcomeDlg" Control="Next" Event="DoAction" Value="DisplayXPWarning"><![CDATA[VersionNT <= 501]]></Publish> - <Publish Dialog="WelcomeDlg" Control="Next" Event="DoAction" Value="Displayx86VersionWarning"> - <?if $(var.Platform) = x86 ?> <!-- 32 bits PACKAGE --> - <![CDATA[VersionNT64]]> <!-- true on 64 bits OS --> - <?else?> - <!-- Always false because we install a 64 bit package --> - <![CDATA[3 = 2]]> - <?endif?> - </Publish> - <Publish Dialog="WelcomeDlg" Control="Next" Event="DoAction" Value="DisplayBitWidthMismatchWarning">OTHERBITWIDTHINSTALLED</Publish> - <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="LicenseAgreementDlg">1</Publish> - - </UI> - - </Product> -</Wix> |