pywin32 自定义安装(避免 py*.dll 安装到 system32 目录)

2 投票
1 回答
668 浏览
提问于 2025-04-16 04:31

我在我的应用程序中使用了Python作为嵌入式脚本环境。我把Python的相关文件(python26.dll、DLL和Lib文件夹)都和我的应用程序一起打包,这样用户就不需要单独安装Python了(你知道在大公司里,这种事情有多麻烦)。

一切运行得很好,除了pywin32。它会把pythoncom26.dll和pywintypes26.dll安装到system32目录下。我希望把这些dll文件放在我的Python目录里。有一个办法是把我的Python目录添加到PATH环境变量中,但我想避免这样做,原因很明显(因为Windows在查找DLL时的优先级问题)。

有没有办法告诉Windows(使用Windows API也可以)去我的目录里加载这些pywin32的dll文件?根据我的理解,这些dll文件是通过Windows的COM来调用的。

谢谢。

编辑1:请注意,Python是和我的应用程序一起嵌入部署的。

1 个回答

0

我之前使用过 py2exe 来把应用程序和所有的DLL文件打包成一个可执行的文件。然后再用 Innosetup 来制作安装程序。效果非常好。

撰写回答