gh-124487: Require at least Windows 10 SDK and update install check (GH-124672)

This commit is contained in:
Steve Dower 2024-09-30 18:50:46 +01:00 committed by GitHub
parent 077e7ef6a0
commit fac5e7aa17
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 11 additions and 9 deletions

View File

@ -0,0 +1 @@
Increases Windows required OS and API level to Windows 10.

View File

@ -169,9 +169,9 @@ WIN32 is still required for the locale module.
#endif /* MS_WIN64 */ #endif /* MS_WIN64 */
/* set the version macros for the windows headers */ /* set the version macros for the windows headers */
/* Python 3.9+ requires Windows 8 or greater */ /* Python 3.13+ requires Windows 10 or greater */
#define Py_WINVER 0x0602 /* _WIN32_WINNT_WIN8 */ #define Py_WINVER 0x0A00 /* _WIN32_WINNT_WIN10 */
#define Py_NTDDI NTDDI_WIN8 #define Py_NTDDI NTDDI_WIN10
/* We only set these values when building Python - we don't want to force /* We only set these values when building Python - we don't want to force
these values on extensions, as that will affect the prototypes and these values on extensions, as that will affect the prototypes and

View File

@ -123,7 +123,7 @@ Feel free to post at <a href="https://discuss.python.org/c/users/7">discus
<String Id="FailureRestartText">You must restart your computer to complete the rollback of the software.</String> <String Id="FailureRestartText">You must restart your computer to complete the rollback of the software.</String>
<String Id="FailureRestartButton">&amp;Restart</String> <String Id="FailureRestartButton">&amp;Restart</String>
<String Id="FailureExistingInstall">Unable to install [WixBundleName] due to an existing install. Use Programs and Features to modify, repair or remove [WixBundleName].</String> <String Id="FailureExistingInstall">Unable to install [WixBundleName] due to an existing install. Use Programs and Features to modify, repair or remove [WixBundleName].</String>
<String Id="FailureOldOS">At least Windows 8.1 or Windows Server 2012 are required to install [WixBundleName] <String Id="FailureOldOS">At least Windows 10 or Windows Server 2016 are required to install [WixBundleName]
Visit &lt;a href="https://www.python.org/downloads/"&gt;python.org&lt;/a&gt; to download an earlier version of Python.</String> Visit &lt;a href="https://www.python.org/downloads/"&gt;python.org&lt;/a&gt; to download an earlier version of Python.</String>
<String Id="SuccessMaxPathButton">Disable path length limit</String> <String Id="SuccessMaxPathButton">Disable path length limit</String>

View File

@ -3086,11 +3086,13 @@ private:
LOC_STRING *pLocString = nullptr; LOC_STRING *pLocString = nullptr;
if (IsWindowsServer()) { if (IsWindowsServer()) {
if (IsWindowsVersionOrGreater(6, 2, 0)) { if (IsWindowsVersionOrGreater(10, 0, 0)) {
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Target OS is Windows Server 2012 or later"); BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Target OS is Windows Server 2016 or later");
return; return;
} else if (IsWindowsVersionOrGreater(6, 2, 0)) {
BalLog(BOOTSTRAPPER_LOG_LEVEL_ERROR, "Detected Windows Server 2012");
} else if (IsWindowsVersionOrGreater(6, 1, 1)) { } else if (IsWindowsVersionOrGreater(6, 1, 1)) {
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Detected Windows Server 2008 R2"); BalLog(BOOTSTRAPPER_LOG_LEVEL_ERROR, "Detected Windows Server 2008 R2");
} else if (IsWindowsVersionOrGreater(6, 1, 0)) { } else if (IsWindowsVersionOrGreater(6, 1, 0)) {
BalLog(BOOTSTRAPPER_LOG_LEVEL_ERROR, "Detected Windows Server 2008 R2"); BalLog(BOOTSTRAPPER_LOG_LEVEL_ERROR, "Detected Windows Server 2008 R2");
} else if (IsWindowsVersionOrGreater(6, 0, 0)) { } else if (IsWindowsVersionOrGreater(6, 0, 0)) {
@ -3104,8 +3106,7 @@ private:
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Target OS is Windows 10 or later"); BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Target OS is Windows 10 or later");
return; return;
} else if (IsWindows8Point1OrGreater()) { } else if (IsWindows8Point1OrGreater()) {
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Target OS is Windows 8.1"); BalLog(BOOTSTRAPPER_LOG_LEVEL_ERROR, "Detected Windows 8.1");
return;
} else if (IsWindows8OrGreater()) { } else if (IsWindows8OrGreater()) {
BalLog(BOOTSTRAPPER_LOG_LEVEL_ERROR, "Detected Windows 8"); BalLog(BOOTSTRAPPER_LOG_LEVEL_ERROR, "Detected Windows 8");
} else if (IsWindows7OrGreater()) { } else if (IsWindows7OrGreater()) {