我创建了一个 exe 文件,该文件在某些 Windows 计算机上运行良好,但在其他计算机上运行失败。
我还找不到失败的原因。
重要数据:
- x64 exe
- Windows 7的
- Python 3.5.1
- pyinstaller 3.0
- onefile
DEBUG 显示如下:
C:\temp\r>mytool_debug.exe
PyInstaller Bootloader 3.x
LOADER: executable is C:\temp\r\mytool_debug.exe
LOADER: homepath is C:\temp\r
LOADER: _MEIPASS2 is NULL
LOADER: archivename is C:\temp\r\mytool_debug.exe
LOADER: Extracting binaries
LOADER: Executing self as child
LOADER: set _MEIPASS2 to C:\temp\_MEI55762
LOADER: Setting up to run child
LOADER: Creating child process
LOADER: Waiting for child process to finish...
PyInstaller Bootloader 3.x
LOADER: executable is C:\temp\r\mytool_debug.exe
LOADER: homepath is C:\temp\r
LOADER: _MEIPASS2 is C:\temp\_MEI55762
LOADER: archivename is C:\temp\r\mytool_debug.exe
LOADER: SetDllDirectory(C:\temp\_MEI55762)
LOADER: Already in the child - running user's code.
LOADER: manifestpath: C:\temp\_MEI55762\mytool.exe.manifest
LOADER: Activation context created
LOADER: Activation context activated
LOADER: Python library: C:\temp\_MEI55762\python35.dll
Error loading Python DLL: C:\temp\_MEI55762\python35.dll (error code 127)
LOADER: Back to parent (RC: -1)
LOADER: Doing cleanup
LOADER: Freeing archive status for C:\temp\r\mytool_debug.exe
窗口中还显示一条错误消息:
Entry Point Not Found
The procedure entry point ucrtbase.terminate could not be located in the dynamic link library api-ms-win-crt-runtime-l1-1-0.dll
当我将所有文件从 C:\temp_MEI55762 (引导加载程序已提取所有文件的位置)复制到目录 C:\temp\r (mytool_debug.exe 所在位置)并执行 mytool_debug.exe 时,它会起作用。
正如所说,mytool.exe 在其他 Windows 7/8 计算机上运行良好。我发现有 2 台计算机由于上述错误而无法正常工作。
我应该从哪里开始寻找?
安装大约 200 个 Windows 更新后,错误消失了。
所需的更新由KB2999226 https://support.microsoft.com/en-gb/kb/2999226
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)