classification
Title: Python 3.9 and 3.10 fails to install in WINE
Type: Stage: resolved
Components: Windows Versions: Python 3.10, Python 3.9
process
Status: closed Resolution: third party
Dependencies: Superseder:
Assigned To: Nosy List: paul.moore, samuelmarks, steve.dower, tim.golden, zach.ware
Priority: normal Keywords:

Created on 2021-06-12 05:40 by samuelmarks, last changed 2021-06-14 17:58 by steve.dower. This issue is now closed.

Messages (2)
msg395677 - (view) Author: Samuel Marks (samuelmarks) * Date: 2021-06-12 05:40
What works:
- python-3.7.9.exe  python-3.8.9.exe

What fails:
- python-3.10.0b2.exe  python-3.9.5.exe

(I'm debugging some regressions on my test suiteā€¦ macOS and Linux [incl. in Docker] work, Windows fails)

How to reproduce (macOS):
0. Install WINE (crossover) https://github.com/Gcenx/homebrew-wine#how-to-install-using-brew
1. wine python-<version>.exe /quiet /passive /log c:/p.log TargetDir=C:/python-<version> InstallAllUsers=1 Include_doc=0 Include_debug=0 Include_dev=0 Include_exe=1 Include_launcher=0 Include_lib=1 Include_pip=1 Include_symbols=0 Include_tcltk=0 Include_test=0 Include_tools=0
2. curl https://bootstrap.pypa.io/get-pip.py -o http://get-pip.py
3. wine "C:\\python-<version>\\python.exe" http://get-pip.py

(replacing `<version>`; obviously)

Error:
```
000b:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
000d:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0010:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0017:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
001d:err:plugplay:process_IOService_Device object 0x9203
001d:err:plugplay:process_IOService_Device Unable to create plug in interface for USB deviceobject 0x9207
001f:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0009:fixme:heap:RtlSetHeapInformation 0x0 1 0x0 0 stub
0025:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0009:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
0009:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
0009:fixme:advapi:DecryptFileW (L"C:\\windows\\Temp\\{FDB2F91C-29EE-4A75-AAA5-39F402CF12ED}\\", 00000000): stub
002b:fixme:heap:RtlSetHeapInformation 0x0 1 0x0 0 stub
002b:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
002b:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
002b:fixme:advapi:DecryptFileW (L"C:\\windows\\Temp\\{3F224591-5EEC-4431-8291-2450B9ECC110}\\", 00000000): stub
002e:fixme:shell:SHAutoComplete stub
002b:fixme:ver:GetCurrentPackageId (0x31fd04 0x0): stub
0009:fixme:ver:GetCurrentPackageId (0x31fd04 0x0): stub
```

Expected (`uniq` output of a successful install of 3.8):
```
000b:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
000d:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0010:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0017:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
001d:err:plugplay:process_IOService_Device object 0x6a03
001d:err:plugplay:process_IOService_Device Unable to create plug in interface for USB deviceobject 0x6a07
001f:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0009:fixme:heap:RtlSetHeapInformation 0x0 1 0x0 0 stub
0025:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0009:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
0009:fixme:advapi:DecryptFileW (L"C:\\windows\\Temp\\{86717C64-3933-4B4D-9283-CEA5CD0F5EBB}\\", 00000000): stub
002b:fixme:heap:RtlSetHeapInformation 0x0 1 0x0 0 stub
002b:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
002b:fixme:advapi:DecryptFileW (L"C:\\windows\\Temp\\{9A024DD0-BF6A-4DF1-A034-C61E89E6F711}\\", 00000000): stub
002e:fixme:shell:SHAutoComplete stub
002b:fixme:advapi:DecryptFileW (L"C:\\windows\\Temp\\{9A024DD0-BF6A-4DF1-A034-C61E89E6F711}\\", 00000000): stub
002b:fixme:exec:SHELL_execute flags ignored: 0x00000100
0030:fixme:heap:RtlSetHeapInformation 0x0 1 0x0 0 stub
0030:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
0030:fixme:ole:CoInitializeSecurity (0031F458,-1,00000000,00000000,6,2,00000000,12288,00000000) - stub!
0030:fixme:wuapi:automatic_updates_Pause 
0030:fixme:sfc:SRSetRestorePointW 0031F320 0031F530
0033:fixme:advapi:DecryptFileW (L"C:\\ProgramData\\Package Cache\\{3854F8D0-6FA6-4227-8047-8DE95B0A7DE7}v3.8.9150.0\\core.msi", 00000000): stub
0030:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
0033:fixme:advapi:DecryptFileW (L"C:\\ProgramData\\Package Cache\\{A3ED59F7-FC59-4793-AEBC-9D3813922BE1}v3.8.9150.0\\exe.msi", 00000000): stub
0030:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0030:err:mscoree:LoadLibraryShim error reading registry key for installroot
0033:fixme:advapi:DecryptFileW (L"C:\\ProgramData\\Package Cache\\{D12B4386-129A-4C17-AB8D-45FD90C6EB0D}v3.8.9150.0\\lib.msi", 00000000): stub
0033:fixme:advapi:DecryptFileW (L"C:\\ProgramData\\Package Cache\\{D9AC2AA4-3635-4476-BDC0-CC9B7992815D}v3.8.9150.0\\pip.msi", 00000000): stub
0030:err:mscoree:LoadLibraryShim error reading registry key for installroot
0037:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0030:err:mscoree:LoadLibraryShim error reading registry key for installroot
0041:fixme:msvcrt:_configure_wide_argv (1) stub
0041:fixme:msvcrt:_initialize_wide_environment stub
0041:fixme:msvcrt:__stdio_common_vsprintf options 25 not handled
0041:fixme:ntdll:server_get_file_info Unsupported info class e
0041:fixme:msvcrt:__stdio_common_vsprintf options 25 not handled
0030:fixme:wuapi:automatic_updates_Resume 
0030:fixme:ver:GetCurrentPackageId (0x31fd04 0x0): stub
002b:fixme:ver:GetCurrentPackageId (0x31fd04 0x0): stub
0009:fixme:ver:GetCurrentPackageId (0x31fd04 0x0): stub
```
msg395828 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2021-06-14 17:58
WINE is not a platform that we officially support, and for the installer, I'm willing to say that we never will.

Our installer is based on the WiX Toolset, so anything that can be fixed will have to be fixed by them first. It's possible that they have already fixed whatever broke between those releases and we just need to update the version we're using, but a detailed report is not going to help us as we don't control that code.

If you download the package from https://www.nuget.org/packages/python/ (either using the Nuget CLI tool or directly from the page), you should be able to just extract and run it on WINE (at least as well as WINE can support it, which is up to them rather than us, but at least any specific issues in CPython we can work around if necessary).
History
Date User Action Args
2021-06-14 17:58:42steve.dowersetstatus: open -> closed
resolution: third party
messages: + msg395828

stage: resolved
2021-06-12 05:40:12samuelmarkscreate