如何修复省略所需C运行时库的第三方库?

时间:2010-08-10 15:17:36

标签: visual-studio winapi pyopengl

我正在为需要PyOpenGL软件包的项目编写NSIS安装程序,但是由于我的系统不包含mscvr71.dll(VS C运行时库),因此安装此软件包失败。根据{{​​3}},这个库应该与PyOpenGL一起打包。

我的问题是,解决这个问题的最安全方法是什么,以便我可以在我的安装程序中安装PyOpenGL dep?我当然不希望在安装过程中将文件丢弃到system32中,并且我不知道任何包含此文件的更新(除了VS本身)。

编辑:

  • 我无法轻易地重新打包PyOpenGL以包含丢失的dll。我没有安装VS,也不确定如何重建软件包和安装程序。

3 个答案:

答案 0 :(得分:1)

假设您的参考文件中有mscvr71.dll,请右键单击mscvr71.dll文件,选择属性,然后将复制本地属性更改为{{ 1}}。

答案 1 :(得分:1)

您可以将库放在与PyOpenGL安装程序相同的目录中,这是dll搜索路径中的第一个。 mscvr71.dll包含在其他应用程序中,例如Java JRE,因此您可以在Program Files目录中使用安全副本(不要使用来自不受信任来源的dll)。

答案 2 :(得分:1)

请参阅我去年增加的py2exe教程,以准确描述不同版本的Python所需的DLL文件版本,从何处获取它们以及如何包含它们(特别是对于棘手的新版本,需要清单文件等):

http://www.py2exe.org/index.cgi/Tutorial#Step5