2010-08-10 66 views
0

我正在爲需要PyOpenGL軟件包的項目編寫NSIS安裝程序,但是由於我的系統不包含mscvr71.dll(VS C運行庫),因此安裝此軟件包失敗。根據KB326922,這個庫應該已經與PyOpenGL打包在一起。如何修復忽略所需C運行時庫的第三方庫?

我的問題是,什麼是最安全的方法來糾正這個,所以我可以在我的安裝程序中安裝PyOpenGL dep?我當然不希望在安裝過程中將文件放入system32中,並且我不知道包含此文件的任何更新(VS本身除外)。

編輯:

  • 我不能輕易地重新包裝PyOpenGL以包括缺少DLL。我沒有安裝VS並且不確定如何重建軟件包和安裝程序。

回答

1

您可以將庫安裝在PyOpenGL的安裝程序所在的目錄中,該安裝程序位於dll搜索路徑中的第一個目錄。 mscvr71.dll包含在其他應用程序中,例如Java JRE,因此您可能在您的Program Files目錄中使用了安全副本(不要使用來自不受信任來源的dll)。

1

假設你在你的參考文獻有mscvr71.dll,對mscvr71.dll文件上單擊右鍵,選擇屬性複製本地屬性更改爲True

+0

我實際上沒有安裝VS,寧可不用重新包裝pyopengl自己。我會更新我的問題,以便更清楚。 – 2010-08-10 15:21:11

+1

賈斯廷可能是正確的,你可以將文件包含在與應用程序相同的目錄中,並且它應該可以工作。 – 2010-08-10 15:22:22

+0

我用於測試的我的XP SP2盒子沒有,所以這不會成爲問題。 – 2010-08-10 15:26:34

1

請參閱py2exe教程,該教程去年增加了一些內容,用於描述不同版本的Python需要哪些版本的DLL文件,從哪裏獲取它們以及如何包含它們(特別是對於棘手的較新版本,需要清單文件等):

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