Author eryksun
Recipients anthonywee, eryksun, paul.moore, steve.dower, tim.golden, zach.ware
Date 2020-01-21.04:34:54
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1579581295.28.0.85632687487.issue39401@roundup.psfhosted.org>
In-reply-to
Content
> On Win7, running Python in the terminal will attempt to load the 
> "api-ms-win-core-path-l1-1-0.dll" from various paths outside of the 
> Python directory and the C:\Windows\System32 directories.

"api-ms-win-core-path-l1-1-0.dll" is not assigned in the API set schema (in ApiSetSchema.dll) in Windows 7. Since the name is neither in the list of known DLLs nor the list of assigned API sets, the loader searches for it in the normal way. (FYI, the number of API sets increased from 35 in Windows 7 up to 502 in Windows 8.1.)

> I'm working on a fix to pass the LOAD_LIBRARY_SEARCH_DEFAULT_DIRS

I think this could use just LOAD_LIBRARY_SEARCH_SYSTEM32. I see no reason to try to load "api-ms-win-core-path-l1-1-0.dll" from the application directory or user directories.

I'm adding 3.6-3.9 to the list of affected versions. In 3.9 it can use a static import instead (i.e. remove LoadLibraryaExW / GetProcAddress), since only Windows 8.1+ is supported.
History
Date User Action Args
2020-01-21 04:34:55eryksunsetrecipients: + eryksun, paul.moore, tim.golden, zach.ware, steve.dower, anthonywee
2020-01-21 04:34:55eryksunsetmessageid: <1579581295.28.0.85632687487.issue39401@roundup.psfhosted.org>
2020-01-21 04:34:55eryksunlinkissue39401 messages
2020-01-21 04:34:54eryksuncreate