gpt4 book ai didi

python - py2exe - 如何减少 dll 依赖性?

转载 作者:可可西里 更新时间:2023-11-01 14:07:20 35 4
gpt4 key购买 nike

我的程序依赖于 USER32.dll、SHELL32.dll、ADVAPI32.dll、WS2_32.dll、GDI32.dll 和 KERNEL32.dll。都在system32文件夹中。有什么方法可以将这些包含在我的程序中,以便它可以在所有 Windows 计算机上运行?或者这些 dll 是否已经可以在所有 Windows 安装中找到?

最佳答案

When py2exe comes across a DLL file that is required by the application, it decides whether or not includes the DLL file in the distribution directory using various criteria. Generally, it doesn't include DLLs if it thinks they belong to the "system" rather than the "application".

您需要覆盖 py2exe 选择包含在结果包中的 DLL 所依据的标准。下面展示了如何做到这一点

# setup.py
from distutils.core import setup
import py2exe,sys,os

origIsSystemDLL = py2exe.build_exe.isSystemDLL
def isSystemDLL(pathname):
if os.path.basename(pathname).lower() in ("msvcp71.dll", "dwmapi.dll"):
return 0
return origIsSystemDLL(pathname)
py2exe.build_exe.isSystemDLL = isSystemDLL

这段代码和上面的引用摘自 a page在 py2exe 站点上。请务必阅读该页面,包括免责声明。

关于python - py2exe - 如何减少 dll 依赖性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5227170/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com