diff --git a/Tools/msi/common.wxs b/Tools/msi/common.wxs
index b9078720892..4efad6562a3 100644
--- a/Tools/msi/common.wxs
+++ b/Tools/msi/common.wxs
@@ -21,8 +21,8 @@
+
-
@@ -47,9 +47,11 @@
+
+
diff --git a/Tools/msi/launcher/launcher.wixproj b/Tools/msi/launcher/launcher.wixproj
index a0f1d574fca..67fb0255dee 100644
--- a/Tools/msi/launcher/launcher.wixproj
+++ b/Tools/msi/launcher/launcher.wixproj
@@ -5,7 +5,8 @@
2.0
launcher
Package
- SkipMissingCore=1;$(DefineConstants)
+ UpgradeCode=1B68A0EC-4DD3-5134-840E-73854B0863F1;$(DefineConstants)
+ true
diff --git a/Tools/msi/launcher/launcher.wxs b/Tools/msi/launcher/launcher.wxs
index 718b666a5c7..80e838afad4 100644
--- a/Tools/msi/launcher/launcher.wxs
+++ b/Tools/msi/launcher/launcher.wxs
@@ -5,7 +5,6 @@
-
@@ -27,12 +26,18 @@
NOT Installed AND NOT ALLUSERS=1
NOT Installed AND ALLUSERS=1
- UPGRADE or REMOVE_OLD_LAUNCHER
+ UPGRADE or REMOVE_350_LAUNCHER
-
+
-
+
+
+
+
+
+
+ Installed OR NOT BLOCK_360A1_LAUNCHER
diff --git a/Tools/msi/launcher/launcher_en-US.wxl b/Tools/msi/launcher/launcher_en-US.wxl
index d961fff3c68..e4c1aaa9fa2 100644
--- a/Tools/msi/launcher/launcher_en-US.wxl
+++ b/Tools/msi/launcher/launcher_en-US.wxl
@@ -1,7 +1,13 @@
- Launcher
- launcher
+ 1033
+ en-us
+ Python Launcher
+ Python Launcher
+ Python Launcher
+ Python Software Foundation
+ A newer version of the Python launcher is already installed.
+ The TARGETDIR variable must be provided when invoking this installer.
Python File
Python File (no console)
Compiled Python File
diff --git a/Tools/msi/msi.props b/Tools/msi/msi.props
index bbb8aeb4e21..9ae6d9988e1 100644
--- a/Tools/msi/msi.props
+++ b/Tools/msi/msi.props
@@ -39,7 +39,7 @@
-
+
WixUtilExtension
WixUtilExtension
@@ -150,7 +150,7 @@
lib2to3/pickles
-
+
<_Uuids>@(_Uuid->'("%(Identity)", "$(MajorVersionNumber).$(MinorVersionNumber)/%(Uri)")',',')
<_GenerateCommand>import uuid; print('\n'.join('{}={}'.format(i, uuid.uuid5(uuid.UUID('c8d9733e-a70c-43ff-ab0c-e26456f11083'), '$(ReleaseUri.Replace(`{arch}`, `$(ArchName)`))' + j)) for i,j in [$(_Uuids.Replace(`"`,`'`))]))
diff --git a/Tools/msi/msi.targets b/Tools/msi/msi.targets
index a40d9c4f926..86be35badb7 100644
--- a/Tools/msi/msi.targets
+++ b/Tools/msi/msi.targets
@@ -25,7 +25,7 @@
-
+
<_Content>$([System.IO.File]::ReadAllText(%(WxlTemplate.FullPath)).Replace(`{{ShortVersion}}`, `$(MajorVersionNumber).$(MinorVersionNumber)$(PyTestExt)`).Replace(`{{LongVersion}}`, `$(PythonVersion)$(PyTestExt)`).Replace(`{{Bitness}}`, `$(Bitness)`))
<_ExistingContent Condition="Exists('$(IntermediateOutputPath)%(WxlTemplate.Filename).wxl')">$([System.IO.File]::ReadAllText($(IntermediateOutputPath)%(WxlTemplate.Filename).wxl))
@@ -35,7 +35,7 @@
Overwrite="true"
Condition="$(_Content) != $(_ExistingContent)" />
-
+