]> granicus.if.org Git - python/commitdiff
bpo-37734: Fix use of registry values to launch Python from Microsoft Store app ...
authorSteve Dower <steve.dower@python.org>
Wed, 7 Aug 2019 17:49:40 +0000 (10:49 -0700)
committerGitHub <noreply@github.com>
Wed, 7 Aug 2019 17:49:40 +0000 (10:49 -0700)
Misc/NEWS.d/next/Windows/2019-08-06-09-35-12.bpo-37734.EoJ9Nh.rst [new file with mode: 0644]
PC/layout/main.py
PC/layout/support/appxmanifest.py

diff --git a/Misc/NEWS.d/next/Windows/2019-08-06-09-35-12.bpo-37734.EoJ9Nh.rst b/Misc/NEWS.d/next/Windows/2019-08-06-09-35-12.bpo-37734.EoJ9Nh.rst
new file mode 100644 (file)
index 0000000..51feecb
--- /dev/null
@@ -0,0 +1 @@
+Fix use of registry values to launch Python from Microsoft Store app.
index fe934bfb1ab366edfe5fa6723993a332983ddbc7..07b7e6d57429718eeed54c7a441c4c5ef3ff667d 100644 (file)
@@ -153,9 +153,15 @@ def get_layout(ns):
                 yield "libs/" + n + ".lib", lib
 
     if ns.include_appxmanifest:
+        yield from in_build("python_uwp.exe", new_name="python{}".format(VER_DOT))
+        yield from in_build("pythonw_uwp.exe", new_name="pythonw{}".format(VER_DOT))
+        # For backwards compatibility, but we don't reference these ourselves.
         yield from in_build("python_uwp.exe", new_name="python")
         yield from in_build("pythonw_uwp.exe", new_name="pythonw")
     else:
+        yield from in_build("python.exe", new_name="python{}".format(VER_DOT))
+        yield from in_build("pythonw.exe", new_name="pythonw{}".format(VER_DOT))
+        # For backwards compatibility, but we don't reference these ourselves.
         yield from in_build("python.exe", new_name="python")
         yield from in_build("pythonw.exe", new_name="pythonw")
 
@@ -163,9 +169,9 @@ def get_layout(ns):
 
     if ns.include_launchers and ns.include_appxmanifest:
         if ns.include_pip:
-            yield from in_build("python_uwp.exe", new_name="pip")
+            yield from in_build("python_uwp.exe", new_name="pip{}".format(VER_DOT))
         if ns.include_idle:
-            yield from in_build("pythonw_uwp.exe", new_name="idle")
+            yield from in_build("pythonw_uwp.exe", new_name="idle{}".format(VER_DOT))
 
     if ns.include_stable:
         yield from in_build(PYTHON_STABLE_DLL_NAME)
index 58fba8443f17ea1ed70adf55c9ab8e0f67d0b17a..0a0f1fc8181c63eb6dd73e1c3d95596f61767412 100644 (file)
@@ -154,9 +154,9 @@ REGISTRY = {
             "SysVersion": VER_DOT,
             "Version": "{}.{}.{}".format(VER_MAJOR, VER_MINOR, VER_MICRO),
             "InstallPath": {
-                "": "[{AppVPackageRoot}]",
-                "ExecutablePath": "[{AppVPackageRoot}]\\python.exe",
-                "WindowedExecutablePath": "[{AppVPackageRoot}]\\pythonw.exe",
+                "": "[{{AppVPackageRoot}}]",
+                "ExecutablePath": "[{{AppVPackageRoot}}]\\python{}.exe".format(VER_DOT),
+                "WindowedExecutablePath": "[{{AppVPackageRoot}}]\\pythonw{}.exe".format(VER_DOT),
             },
             "Help": {
                 "Main Python Documentation": {
@@ -395,7 +395,7 @@ def get_appxmanifest(ns):
         ns,
         xml,
         "Python",
-        "python",
+        "python{}".format(VER_DOT),
         ["python", "python{}".format(VER_MAJOR), "python{}".format(VER_DOT)],
         PYTHON_VE_DATA,
         "console",
@@ -406,7 +406,7 @@ def get_appxmanifest(ns):
         ns,
         xml,
         "PythonW",
-        "pythonw",
+        "pythonw{}".format(VER_DOT),
         ["pythonw", "pythonw{}".format(VER_MAJOR), "pythonw{}".format(VER_DOT)],
         PYTHONW_VE_DATA,
         "windows",
@@ -418,7 +418,7 @@ def get_appxmanifest(ns):
             ns,
             xml,
             "Pip",
-            "pip",
+            "pip{}".format(VER_DOT),
             ["pip", "pip{}".format(VER_MAJOR), "pip{}".format(VER_DOT)],
             PIP_VE_DATA,
             "console",
@@ -430,7 +430,7 @@ def get_appxmanifest(ns):
             ns,
             xml,
             "Idle",
-            "idle",
+            "idle{}".format(VER_DOT),
             ["idle", "idle{}".format(VER_MAJOR), "idle{}".format(VER_DOT)],
             IDLE_VE_DATA,
             "windows",