diff --git a/Misc/NEWS.d/next/Windows/2023-02-13-16-32-50.gh-issue-101849.7lm_53.rst b/Misc/NEWS.d/next/Windows/2023-02-13-16-32-50.gh-issue-101849.7lm_53.rst
new file mode 100644
index 00000000000..861d4de9f9a
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2023-02-13-16-32-50.gh-issue-101849.7lm_53.rst
@@ -0,0 +1 @@
+Ensures installer will correctly upgrade existing ``py.exe`` launcher installs.
diff --git a/Tools/msi/common.wxs b/Tools/msi/common.wxs
index 55cb44860d0..54fa749ab17 100644
--- a/Tools/msi/common.wxs
+++ b/Tools/msi/common.wxs
@@ -25,7 +25,6 @@
-
@@ -42,6 +41,7 @@
UPGRADE
+
diff --git a/Tools/msi/launcher/launcher.wxs b/Tools/msi/launcher/launcher.wxs
index b83058c63bf..49f1f7b8c17 100644
--- a/Tools/msi/launcher/launcher.wxs
+++ b/Tools/msi/launcher/launcher.wxs
@@ -34,13 +34,34 @@
NOT Installed AND NOT ALLUSERS=1
NOT Installed AND ALLUSERS=1
+
+ UPGRADE or REMOVE_350_LAUNCHER or REMOVE_360A1_LAUNCHER or UPGRADE_3_11_0 or UPGRADE_3_11_1
+
UPGRADE or REMOVE_350_LAUNCHER or REMOVE_360A1_LAUNCHER
+
+
+ Installed OR NOT DOWNGRADE OR UPGRADE_3_11_0 OR UPGRADE_3_11_1
+
+ Installed OR NOT DOWNGRADE
+
+
+
+
+
+
+