2013-04-04 11 views
6

我正在使用setuptool的bdist_wininst爲我的項目構建一個安裝EXE。但是,我發現當我真正在Win7-64bit機器上運行所述安裝程序(帶有Python 2.7.3)時,出現如下所示的運行時錯誤:http://i.imgur.com/8osT3.jpg。 (只有64位安裝程序針對python-2.7 64位; 32位(在python2.7 32位上)顯示正常)我可以單擊確定,安裝程序結束,但對最終用戶來說這肯定看起來很差。使用setup.py構建的Windows安裝程序bdist_wininst在安裝時會觸發RuntimeError。我該如何解決?

任何想法如何解決它?

+0

只是爲了clairify,Py2.7.3 + Win6_64bit不起作用。 Py2.7.4 + Win7_32bit的作品?我假設你沒有正確地綁定運行時庫。你如何打包你的東西? – Torxed

+0

我在ubuntu Linux 12.10上打包生成exe文件的bdist_wininst。 distutils代碼(command/bdist_wininst.py)只會將信息(請參閱create_exe)附加到存根安裝程序(wininst-9.0.exe和wininst-9.0-amd64.exe),並在/usr/lib/python2.7/distutils/中找到命令)。請注意,我稍微修改了代碼以使用正確的exe(使用python2.6 +的bug)。 – UsAaR33

+0

出於好奇,你有沒有試圖在實際的Windows機器上綁定一切?我很害怕整個問題是因爲原始源缺少Windows安裝程序可能需要的許多dll,並且包的包裝不完整。 – Torxed

回答

1

也許Visual C++可再發行組件包丟失或損壞,請嘗試(重新)安裝Microsoft Visual C++ 2008 SP1/2010可再發行組件包(x64)或任何其他版本。

+0

我的歉意;原來的問題我不清楚。安裝EXE是在w/setuptool的bdist_wininst中建立的,其中正確的EXE應該已經存在。 – UsAaR33

+0

然後你有一個不正確的依賴關係,當你正在構建安裝exe文件(也許某處有一個x86-x64設置,或者你必須在某種配置中映射正確的msvcr {version [80/100]}/msvcp [80/100] } dll)。 –

+0

再次,EXE已經存在..它作爲distutils的一部分分發。 bdist_wininst命令(見主要註釋)只是將數據附加到它 – UsAaR33

相關問題