2013-07-04 93 views
3

我創建了一個使用Pyinstaller和Python 2.7的二進制文件,當我在同一臺機器上運行時,它會生成一個運行時錯誤! R6034「應用程序嘗試錯誤地加載C運行時庫。」Pyinstaller和R6034錯誤

如果我使用Process Explorer並查看正在使用的DLL,則有兩個msvcr90.dll實例,一個來自pyinstaller創建的_MEI文件夾,它是9.0.21022.8版,另一個來自C:\ Windows \ wunsxs這是版本9.0.30729.4940。

任何想法如何解決這個問題?

回答

2

我也有這個問題。現在我發現的唯一解決方法就是將目錄中的yourprogramname.exe.manifest文件放在Pyinstaller projectname/build/projectname/目錄中,並將其放在exe文件的同一目錄中。

我的清單文件是類似的東西:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <assemblyIdentity name="yourprogramname" processorArchitecture="x86" type="win32" version="1.0.0.0"/> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity name="Microsoft.VC90.CRT" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b" type="win32" version="9.0.21022.8"/> 
    </dependentAssembly> 
    </dependency> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity name="Microsoft.VC90.MFC" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b" type="win32" version="9.0.21022.8"/> 
    </dependentAssembly> 
    </dependency> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity language="*" name="Microsoft.Windows.Common-Controls" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" type="win32" version="6.0.0.0"/> 
    </dependentAssembly> 
    </dependency> 
</assembly> 

而且相關:

https://groups.google.com/forum/?fromgroups#!topic/pyinstaller/AkU4pARcLUE