summaryrefslogtreecommitdiffstats
path: root/Tools/msi
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@microsoft.com>2015-10-01 22:19:39 (GMT)
committerSteve Dower <steve.dower@microsoft.com>2015-10-01 22:19:39 (GMT)
commitc9fda9b903dc85be334e588b4be784e878248905 (patch)
treead8194aa928743c0fb0e0dd72c76fde952ed7a2f /Tools/msi
parentc4b7600b903aca2fec434801d8d185bd2df65076 (diff)
downloadcpython-c9fda9b903dc85be334e588b4be784e878248905.zip
cpython-c9fda9b903dc85be334e588b4be784e878248905.tar.gz
cpython-c9fda9b903dc85be334e588b4be784e878248905.tar.bz2
Issue #25165: Windows uninstallation should not remove launcher if other versions remain
Diffstat (limited to 'Tools/msi')
-rw-r--r--Tools/msi/common.wxs6
-rw-r--r--Tools/msi/launcher/launcher.wixproj1
-rw-r--r--Tools/msi/launcher/launcher.wxs7
3 files changed, 12 insertions, 2 deletions
diff --git a/Tools/msi/common.wxs b/Tools/msi/common.wxs
index 9f96bd3..100a013 100644
--- a/Tools/msi/common.wxs
+++ b/Tools/msi/common.wxs
@@ -22,17 +22,19 @@
</Upgrade>
<?if $(var.UpgradeCode)!=$(var.CoreUpgradeCode) ?>
+ <?ifndef SkipMissingCore ?>
<Upgrade Id="$(var.CoreUpgradeCode)">
<UpgradeVersion Property="MISSING_CORE" Minimum="$(var.Version)" IncludeMinimum="yes" Maximum="$(var.Version)" IncludeMaximum="yes" OnlyDetect="yes" />
</Upgrade>
+ <Condition Message="!(loc.IncorrectCore)">Installed OR NOT MISSING_CORE</Condition>
+ <?endif ?>
<?endif ?>
<Condition Message="!(loc.NoDowngrade)">Installed OR NOT DOWNGRADE</Condition>
- <Condition Message="!(loc.IncorrectCore)">Installed OR NOT MISSING_CORE</Condition>
<Condition Message="!(loc.NoTargetDir)">Installed OR TARGETDIR OR Suppress_TARGETDIR_Check</Condition>
<InstallExecuteSequence>
- <RemoveExistingProducts After="InstallInitialize">UPGRADE</RemoveExistingProducts>
+ <RemoveExistingProducts After="InstallInitialize" Overridable="yes">UPGRADE</RemoveExistingProducts>
</InstallExecuteSequence>
</Fragment>
diff --git a/Tools/msi/launcher/launcher.wixproj b/Tools/msi/launcher/launcher.wixproj
index 73f26a8..a0f1d57 100644
--- a/Tools/msi/launcher/launcher.wixproj
+++ b/Tools/msi/launcher/launcher.wixproj
@@ -5,6 +5,7 @@
<SchemaVersion>2.0</SchemaVersion>
<OutputName>launcher</OutputName>
<OutputType>Package</OutputType>
+ <DefineConstants>SkipMissingCore=1;$(DefineConstants)</DefineConstants>
</PropertyGroup>
<Import Project="..\msi.props" />
<ItemGroup>
diff --git a/Tools/msi/launcher/launcher.wxs b/Tools/msi/launcher/launcher.wxs
index b20cff8..718b666 100644
--- a/Tools/msi/launcher/launcher.wxs
+++ b/Tools/msi/launcher/launcher.wxs
@@ -26,6 +26,13 @@
<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="InstallInitialize">UPGRADE or REMOVE_OLD_LAUNCHER</RemoveExistingProducts>
</InstallExecuteSequence>
+
+ <!-- Python 3.5.0 shipped with an incorrect UpgradeCode -->
+ <Upgrade Id="A71530B9-E89D-53DB-9C2D-C6D7551876D8">
+ <UpgradeVersion Maximum="$(var.Version)" Property="REMOVE_OLD_LAUNCHER" />
+ </Upgrade>
</Product>
</Wix>