From c738e9f863bfc9451abd90589caf00f95f6cf63c Mon Sep 17 00:00:00 2001 From: Wulian <1055917385@qq.com> Date: Mon, 30 Sep 2024 19:14:06 +0800 Subject: [PATCH 1/5] Update Dependency Information for PCBuild to Correct Information --- PCbuild/pyproject.props | 5 ----- Tools/msi/README.txt | 4 ++-- Tools/msi/purge.py | 12 +++--------- Tools/msi/wix.props | 3 +-- 4 files changed, 6 insertions(+), 18 deletions(-) diff --git a/PCbuild/pyproject.props b/PCbuild/pyproject.props index 9c85e5efa4af4a..c65341179376ea 100644 --- a/PCbuild/pyproject.props +++ b/PCbuild/pyproject.props @@ -217,11 +217,6 @@ public override bool Execute() { - - - $(VCInstallDir)\redist\ - - <_RedistFiles Include="$(VCInstallDir)\Redist\MSVC\*\*.*" /> diff --git a/Tools/msi/README.txt b/Tools/msi/README.txt index 98e5ba039d2bcd..bb50f084508ada 100644 --- a/Tools/msi/README.txt +++ b/Tools/msi/README.txt @@ -68,10 +68,10 @@ similarly named file in PCbuild.) One of the dependencies used in builds is WiX, a toolset that lets developers create installers for Windows Installer, the Windows installation engine. -Additionally, make sure "MSVC v14x - VS 20xx C++ ARM64 build tools" are +Additionally, make sure "MSVC v14x - VS 20xx C++ ARM64/ARM64EC build tools" are selected under "Desktop Development with C++" in "Visual Studio installer", even if you are not building on ARM64. This is required because we have -upgraded to WiX-3.14, which requires these tools for Python 3.11 and later +upgraded to WiX-3.14, which requires these tools for Python 3.10 and later versions. For testing, the installer should be built with the Tools/msi/build.bat diff --git a/Tools/msi/purge.py b/Tools/msi/purge.py index e25219a6caf9d4..2d3b5eb02396a1 100644 --- a/Tools/msi/purge.py +++ b/Tools/msi/purge.py @@ -1,7 +1,7 @@ # Purges the Fastly cache for Windows download files # # Usage: -# py -3 purge.py 3.5.1rc1 +# py -3 purge.py 3.13.1rc1 # __author__ = 'Steve Dower ' @@ -18,10 +18,10 @@ m = VERSION_RE.match(sys.argv[1]) if not m: print('Invalid version:', sys.argv[1]) - print('Expected something like "3.5.1rc1"') + print('Expected something like "3.13.1rc1"') sys.exit(1) except LookupError: - print('Missing version argument. Expected something like "3.5.1rc1"') + print('Missing version argument. Expected something like "3.13.1rc1"') sys.exit(1) URL = "https://www.python.org/ftp/python/{}/".format(m.group(1)) @@ -51,14 +51,8 @@ "test_pdb.msi", "tools.msi", "ucrt.msi", - "Windows6.0-KB2999226-x64.msu", - "Windows6.0-KB2999226-x86.msu", - "Windows6.1-KB2999226-x64.msu", - "Windows6.1-KB2999226-x86.msu", "Windows8.1-KB2999226-x64.msu", "Windows8.1-KB2999226-x86.msu", - "Windows8-RT-KB2999226-x64.msu", - "Windows8-RT-KB2999226-x86.msu", ] PATHS = [ "python-{}.exe".format(m.group(0)), diff --git a/Tools/msi/wix.props b/Tools/msi/wix.props index d8ced317d0ce81..470655da79eb0f 100644 --- a/Tools/msi/wix.props +++ b/Tools/msi/wix.props @@ -5,8 +5,7 @@ $(MSBuildThisFileDirectory)\Wix\ $(ExternalsDir)\windows-installer\wix-314\ - $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Installer XML\3.10@InstallRoot) - $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows Installer XML\3.10@InstallRoot) + $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows Installer XML\3.14@InstallRoot) $(WixInstallPath)\Wix.targets \ No newline at end of file From d857f571dc4158a34f2a1f7f21e4d22587d60305 Mon Sep 17 00:00:00 2001 From: Wulian <1055917385@qq.com> Date: Tue, 1 Oct 2024 09:24:27 +0800 Subject: [PATCH 2/5] remove win8.1 --- Tools/msi/purge.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/Tools/msi/purge.py b/Tools/msi/purge.py index 2d3b5eb02396a1..ee7d40ccca186d 100644 --- a/Tools/msi/purge.py +++ b/Tools/msi/purge.py @@ -51,8 +51,6 @@ "test_pdb.msi", "tools.msi", "ucrt.msi", - "Windows8.1-KB2999226-x64.msu", - "Windows8.1-KB2999226-x86.msu", ] PATHS = [ "python-{}.exe".format(m.group(0)), From 96a6a882465f10248c2e4af49b0ac5ed866f736a Mon Sep 17 00:00:00 2001 From: Wulian <1055917385@qq.com> Date: Tue, 1 Oct 2024 10:00:04 +0800 Subject: [PATCH 3/5] finish --- Tools/msi/purge.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Tools/msi/purge.py b/Tools/msi/purge.py index ee7d40ccca186d..e25219a6caf9d4 100644 --- a/Tools/msi/purge.py +++ b/Tools/msi/purge.py @@ -1,7 +1,7 @@ # Purges the Fastly cache for Windows download files # # Usage: -# py -3 purge.py 3.13.1rc1 +# py -3 purge.py 3.5.1rc1 # __author__ = 'Steve Dower ' @@ -18,10 +18,10 @@ m = VERSION_RE.match(sys.argv[1]) if not m: print('Invalid version:', sys.argv[1]) - print('Expected something like "3.13.1rc1"') + print('Expected something like "3.5.1rc1"') sys.exit(1) except LookupError: - print('Missing version argument. Expected something like "3.13.1rc1"') + print('Missing version argument. Expected something like "3.5.1rc1"') sys.exit(1) URL = "https://www.python.org/ftp/python/{}/".format(m.group(1)) @@ -51,6 +51,14 @@ "test_pdb.msi", "tools.msi", "ucrt.msi", + "Windows6.0-KB2999226-x64.msu", + "Windows6.0-KB2999226-x86.msu", + "Windows6.1-KB2999226-x64.msu", + "Windows6.1-KB2999226-x86.msu", + "Windows8.1-KB2999226-x64.msu", + "Windows8.1-KB2999226-x86.msu", + "Windows8-RT-KB2999226-x64.msu", + "Windows8-RT-KB2999226-x86.msu", ] PATHS = [ "python-{}.exe".format(m.group(0)), From 470c183dfef2e27b9d9b200788cd786a8d5b85d6 Mon Sep 17 00:00:00 2001 From: Wulian <1055917385@qq.com> Date: Wed, 2 Oct 2024 09:01:48 +0800 Subject: [PATCH 4/5] WixInstallPath environment variable --- Doc/using/windows.rst | 2 +- Tools/msi/README.txt | 20 +++++++++++--------- Tools/msi/wix.props | 1 - 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Doc/using/windows.rst b/Doc/using/windows.rst index 20d872d7639219..b048fd71894365 100644 --- a/Doc/using/windows.rst +++ b/Doc/using/windows.rst @@ -25,7 +25,7 @@ As specified in :pep:`11`, a Python release only supports a Windows platform while Microsoft considers the platform under extended support. This means that Python |version| supports Windows 10 and newer. If you require Windows 7 support, please install Python 3.8. If you require Windows 8.1 support, -please install Python 3.12. +please install Python 3.13. There are a number of different installers available for Windows, each with certain benefits and downsides. diff --git a/Tools/msi/README.txt b/Tools/msi/README.txt index bb50f084508ada..8ae156450d5240 100644 --- a/Tools/msi/README.txt +++ b/Tools/msi/README.txt @@ -61,18 +61,20 @@ the initial download size by separating them into their own MSIs. Building the Installer ====================== -Before building the installer, download extra build dependencies using -Tools\msi\get_externals.bat. (Note that this is in addition to the +Before building the installer, download the extra build dependencies +using Tools\msi\get_externals.bat. (Note that this is in addition to the similarly named file in PCbuild.) -One of the dependencies used in builds is WiX, a toolset that lets developers -create installers for Windows Installer, the Windows installation engine. +One of the dependencies used in the build process is WiX, a toolset that +allows developers to create installers for Windows Installer, the +Windows installation engine. If you're not using the copy of WiX +installed by Tools\msi\get_externals.bat, you'll need to set the +"WixInstallPath" environment variable before building. -Additionally, make sure "MSVC v14x - VS 20xx C++ ARM64/ARM64EC build tools" are -selected under "Desktop Development with C++" in "Visual Studio installer", -even if you are not building on ARM64. This is required because we have -upgraded to WiX-3.14, which requires these tools for Python 3.10 and later -versions. +Additionally, ensure that "MSVC v14x - VS 20xx C++ ARM64/ARM64EC build tools" +is selected under "Desktop Development with C++" in the "Visual Studio Installer", +even if you're not building on ARM64. This is required because we've upgraded +to WiX 3.14, which requires these tools for Python 3.10 and later versions. For testing, the installer should be built with the Tools/msi/build.bat script: diff --git a/Tools/msi/wix.props b/Tools/msi/wix.props index 470655da79eb0f..707c8aeacb648d 100644 --- a/Tools/msi/wix.props +++ b/Tools/msi/wix.props @@ -5,7 +5,6 @@ $(MSBuildThisFileDirectory)\Wix\ $(ExternalsDir)\windows-installer\wix-314\ - $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows Installer XML\3.14@InstallRoot) $(WixInstallPath)\Wix.targets \ No newline at end of file From 31bfa669a6f64c82cc34d9297a9d7b6864ec3a27 Mon Sep 17 00:00:00 2001 From: Wulian <1055917385@qq.com> Date: Wed, 2 Oct 2024 23:11:19 +0800 Subject: [PATCH 5/5] update windows.rst --- Doc/using/windows.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/using/windows.rst b/Doc/using/windows.rst index b048fd71894365..20d872d7639219 100644 --- a/Doc/using/windows.rst +++ b/Doc/using/windows.rst @@ -25,7 +25,7 @@ As specified in :pep:`11`, a Python release only supports a Windows platform while Microsoft considers the platform under extended support. This means that Python |version| supports Windows 10 and newer. If you require Windows 7 support, please install Python 3.8. If you require Windows 8.1 support, -please install Python 3.13. +please install Python 3.12. There are a number of different installers available for Windows, each with certain benefits and downsides.