Skip to content

Error installing on fresh Windows 8.1 machine #138896

Description

@adang1345

Bug report

Bug description:

I was testing some custom builds of Python on Windows machines that don't have the Universal C runtime installed, and I discovered a problem with my builds that shows up in the official Windows installer as well. I receive an error when trying to install Python 3.13.7 on a fresh Windows 8.1 VM that does not have the Universal C runtime installed.

Image

The install log contains the following, indicating that installing ucrt.msi failed.

[0DDC:0ED0][2025-09-14T12:49:34]w343: Prompt for source of package: ucrt_AllUsers, payload: ucrt_AllUsers, path: C:\Users\adang\Downloads\ucrt.msi
[0DDC:0ED0][2025-09-14T12:49:34]i338: Acquiring package: ucrt_AllUsers, payload: ucrt_AllUsers, download from: https://www.python.org/ftp/python/3.13.7/amd64/ucrt.msi
[0E80:0E98][2025-09-14T12:49:35]i305: Verified acquired payload: ucrt_AllUsers at path: C:\ProgramData\Package Cache\.unverified\ucrt_AllUsers, moving to: C:\ProgramData\Package Cache\{A5AB937A-A96D-4BF8-BFAB-8702BA813A81}v3.13.7150.0\ucrt.msi.
[0E80:0E84][2025-09-14T12:49:35]i301: Applying execute package: ucrt_AllUsers, action: Install, path: C:\ProgramData\Package Cache\{A5AB937A-A96D-4BF8-BFAB-8702BA813A81}v3.13.7150.0\ucrt.msi, arguments: ' ALLUSERS="1" ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7" TARGETDIR="C:\Program Files\Python313"'
[0E80:0E98][2025-09-14T12:49:35]i304: Verified existing payload: core_AllUsers at path: C:\ProgramData\Package Cache\{BE75E968-78F4-411D-92E4-73EC3043F7E4}v3.13.7150.0\core.msi.
[0E80:0E98][2025-09-14T12:49:35]i304: Verified existing payload: exe_AllUsers at path: C:\ProgramData\Package Cache\{E4047598-558F-4468-8B53-9FCEF7F86E0D}v3.13.7150.0\exe.msi.
[0E80:0E98][2025-09-14T12:49:35]i304: Verified existing payload: dev_AllUsers at path: C:\ProgramData\Package Cache\{96A23710-E014-4A5B-96A1-DE64AC37251B}v3.13.7150.0\dev.msi.
[0E80:0E98][2025-09-14T12:49:35]i304: Verified existing payload: lib_AllUsers at path: C:\ProgramData\Package Cache\{A139F43E-8105-465D-AC80-28F349CBE08D}v3.13.7150.0\lib.msi.
[0E80:0E98][2025-09-14T12:49:35]i304: Verified existing payload: test_AllUsers at path: C:\ProgramData\Package Cache\{6BD2B618-9A2B-47D9-B24B-2F05BD2768E4}v3.13.7150.0\test.msi.
[0E80:0E98][2025-09-14T12:49:35]i304: Verified existing payload: doc_AllUsers at path: C:\ProgramData\Package Cache\{CFAAA24B-16EF-4D9D-80A5-F67798771571}v3.13.7150.0\doc.msi.
[0E80:0E98][2025-09-14T12:49:35]i304: Verified existing payload: tcltk_AllUsers at path: C:\ProgramData\Package Cache\{A65B1339-6492-4CA4-AEB5-2B25A83A20B9}v3.13.7150.0\tcltk.msi.
[0E80:0E98][2025-09-14T12:49:35]i304: Verified existing payload: launcher_AllUsers at path: C:\ProgramData\Package Cache\{8B8DEA15-D815-4CB1-AC10-4E7713F3DFA0}v3.13.7150.0\launcher.msi.
[0E80:0E98][2025-09-14T12:49:35]i304: Verified existing payload: pip_AllUsers at path: C:\ProgramData\Package Cache\{CD31E178-F872-466B-A231-9C8AA53A89FD}v3.13.7150.0\pip.msi.
[0E80:0E98][2025-09-14T12:49:35]i304: Verified existing payload: compileall_AllUsers at path: C:\ProgramData\Package Cache\5DB71E6C62D8C3B4121E17DCFA4030A491BFC13E\py.exe.
[0E80:0E98][2025-09-14T12:49:35]i304: Verified existing payload: compileallO_AllUsers at path: C:\ProgramData\Package Cache\5DB71E6C62D8C3B4121E17DCFA4030A491BFC13E\py.exe.
[0E80:0E98][2025-09-14T12:49:35]i304: Verified existing payload: compileallOO_AllUsers at path: C:\ProgramData\Package Cache\5DB71E6C62D8C3B4121E17DCFA4030A491BFC13E\py.exe.
[0E80:0E84][2025-09-14T12:49:35]e000: Error 0x80070643: Failed to install MSI package.
[0E80:0E84][2025-09-14T12:49:35]e000: Error 0x80070643: Failed to execute MSI package.
[0DDC:0DE0][2025-09-14T12:49:35]e000: Error 0x80070643: Failed to configure per-machine MSI package.
[0DDC:0DE0][2025-09-14T12:49:35]i319: Applied execute package: ucrt_AllUsers, result: 0x80070643, restart: None
[0DDC:0DE0][2025-09-14T12:49:35]e000: Error 0x80070643: Failed to execute MSI package.

The file Python 3.13.7 (64-bit)_20250914124833_000_ucrt_AllUsers.log contains the following excerpt.

=== Logging started: 9/14/2025  12:48:43 ===
MSI (s) (78:08) [12:48:43:382]: Note: 1: 2203 2: C:\Windows\Installer\inprogressinstallinfo.ipi 3: -2147287038 
MSI (s) (78:08) [12:48:43:382]: APPCOMPAT: [DetectVersionLaunchCondition] Launch condition already passes.
MSI (s) (78:08) [12:48:43:382]: PROPERTY CHANGE: Adding ACTION property. Its value is 'INSTALL'.
MSI (s) (78:08) [12:48:43:382]: Doing action: INSTALL
MSI (s) (78:08) [12:48:43:382]: Note: 1: 2205 2:  3: ActionText 
Action start 12:48:43: INSTALL.
MSI (s) (78:08) [12:48:43:382]: Running ExecuteSequence
MSI (s) (78:08) [12:48:43:382]: Doing action: FindRelatedProducts
MSI (s) (78:08) [12:48:43:382]: Note: 1: 2205 2:  3: ActionText 
Action start 12:48:43: FindRelatedProducts.
MSI (s) (78:08) [12:48:43:398]: Doing action: AppSearch
MSI (s) (78:08) [12:48:43:398]: Note: 1: 2205 2:  3: ActionText 
Action ended 12:48:43: FindRelatedProducts. Return value 1.
Action start 12:48:43: AppSearch.
MSI (s) (78:08) [12:48:43:398]: Note: 1: 1322 2:  
MSI (s) (78:08) [12:48:43:398]: Note: 1: 1322 2:  
MSI (s) (78:08) [12:48:43:398]: Note: 1: 1324 2: . 3: 1 
MSI (s) (78:08) [12:48:43:398]: Note: 1: 1324 2: . 3: 1 
MSI (s) (78:08) [12:48:43:398]: Note: 1: 1322 2:  
MSI (s) (78:08) [12:48:43:398]: Note: 1: 1322 2:  
MSI (s) (78:08) [12:48:43:398]: Note: 1: 1324 2: . 3: 1 
MSI (s) (78:08) [12:48:43:398]: Note: 1: 1324 2: . 3: 1

Last 4 lines repeated hundreds of times, snipped for brevity

MSI (s) (78:08) [12:48:43:492]: Internal Exception during install operation: 0xc00000fd at 0x00007FFFE243B8DA.
MSI (s) (78:08) [12:48:43:492]: WER report disabled for silent install.
MSI (s) (78:08) [12:48:43:492]: Internal MSI error. Installer terminated prematurely.

After trying to install some older Python versions using installers that I custom-built with Tools\msi\buildrelease.bat, I found that the earliest version with this problem is Python 3.7.13 and that a regression was introduced in #31726 with the addition of the following line:

<PropertyRef Id="DetectTargetDir" />

It's not totally clear to me what this line is for, but I noticed that the change in question added it to some .wxs files under Tools/msi and not others. I think that it should not have been added to ucrt.wxs, because when I remove it, my custom-built installers no longer encounter this error. I can create a PR.

CPython versions tested on:

3.13

Operating systems tested on:

Windows

Linked PRs

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions