<?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Product Id="*" Language="!(loc.LCID)" Name="!(loc.Title)" Version="$(var.Version)" Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)"> <Package InstallerVersion="300" Compressed="yes" InstallScope="perUser" Platform="$(var.Platform)" /> <MediaTemplate EmbedCab="yes" CompressionLevel="high" /> <Property Id="Suppress_TARGETDIR_Check" Value="1" /> <Icon Id="ARPIcon" SourceFile="!(bindpath.src)PC\icons\launcher.ico" /> <Property Id="ARPPRODUCTICON" Value="ARPIcon" /> <Property Id="ARPNOMODIFY" Value="1" /> <Property Id="DISABLEADVTSHORTCUTS" Value="1" /> <Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)"> <ComponentGroupRef Id="launcher_exe" Primary="yes" /> </Feature> <Feature Id="AssociateFiles" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)"> <ComponentGroupRef Id="launcher_exe" /> <ComponentGroupRef Id="launcher_reg" /> </Feature> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="LauncherInstallDirectory" /> </Directory> <CustomAction Id="SetLauncherInstallDirectoryLM" Property="LauncherInstallDirectory" Value="[WindowsFolder]" /> <CustomAction Id="SetLauncherInstallDirectoryCU" Property="LauncherInstallDirectory" Value="[LocalAppDataFolder]Programs\Python\Launcher" /> <InstallExecuteSequence> <Custom Before="SetLauncherInstallDirectoryLM" Action="SetLauncherInstallDirectoryCU">NOT Installed AND NOT ALLUSERS=1</Custom> <Custom Before="CostFinalize" Action="SetLauncherInstallDirectoryLM">NOT Installed AND ALLUSERS=1</Custom> <RemoveExistingProducts After="InstallValidate">UPGRADE or REMOVE_350_LAUNCHER or REMOVE_360A1_LAUNCHER</RemoveExistingProducts> </InstallExecuteSequence> <!-- Upgrade all versions of the launcher --> <Upgrade Id="$(var.UpgradeCode)"> <UpgradeVersion Property="DOWNGRADE" Minimum="$(var.Version)" IncludeMinimum="no" OnlyDetect="yes" /> <UpgradeVersion Property="UPGRADE" Minimum="0.0.0.0" IncludeMinimum="yes" Maximum="$(var.Version)" IncludeMaximum="no" /> </Upgrade> <!-- Python 3.5.0 shipped with a different UpgradeCode --> <Upgrade Id="A71530B9-E89D-53DB-9C2D-C6D7551876D8"> <UpgradeVersion Minimum="0.0.0.0" Property="REMOVE_350_LAUNCHER" /> </Upgrade> <!-- Python 3.6.0a1 shipped with a different UpgradeCode --> <Upgrade Id="394750C0-7880-5A8F-999F-933965FBCFB4"> <UpgradeVersion Minimum="0.0.0.0" Property="REMOVE_360A1_LAUNCHER" /> </Upgrade> </Product> </Wix>