解決應用程序無法正常啟動0xc0150002等問題


1、在程序運行出錯的時候,右鍵“我的電腦”,然后點擊“管理”→“事件查看器”→“Windows 日志”→“應用程序”,查看錯誤信息:

 

1> “E:\IPCam_share\ARP\數據處理\HgNetSdkDemo\Debug\DevMngrd.dll”的激活上下文生成失敗。 找不到從屬程序集Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",

type="win32",version="9.0.21022.8"。請使用 sxstrace.exe 進行詳細診斷。

 可以判斷是DevMngrd.dll等庫文件加載的時候出現了問題,看了下它的manifest文件,其依賴庫是Microsoft.VC90.DebugCRT,這樣問題就很明顯了,這個dll是在VS2008下編譯的,而別人的機子沒有這個環境,我們所編譯生成的應用程序由於缺少必需的Debug版本的VC運行庫而發生錯誤。

 

2> “E:\HgNetSdkDemo\Debug\HgDeviceFound.dll”的激活上下文生成失敗。 找不到從屬程序集Microsoft.VC90.DebugMFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",

type="win32",version="9.0.21022.8"。 請使用 sxstrace.exe 進行詳細診斷。

 

可以判斷是HgDeviceFound.dll等庫文件加載的時候出現了問題,看了下它的manifest文件,其依賴庫是Microsoft.VC90.DebugMFC

 

2、解決方法是:拷貝相應的VC庫文件

1> 到自己機子上VS2008的安裝目錄下,把3個dll文件(msvcm90d.dll,msvcp90d.dll,msvcr90d.dll)和一個manifest文件(Microsoft.VC90.DebugCRT.manifest),拷貝到別人機子上的工程可執行目錄下。

 

 

2> 到自己機子上VS2008的安裝目錄下,把4個dll文件(mfc90d.dll,mfc90ud.dll,mfcm90d.dll,mfcm90ud.dll)和一個manifest文件(Microsoft.VC90.DebugMFC.manifest),拷貝到別人機子上的工程可執行目錄下,然后問題就解決了

 

另:如果是VS2005 ,則為xxx.VC80.XXX文件夾

 

3、發現問題時應如何做

1> 善用工具可以幫助定位問題:事件查看器,depends walker等

2> 網上搜索解決辦法

3> 啟動程序或注冊文件時最好以管理員身份啟動或注冊

4> 安裝包文件夾權限是否受限

5> 殺毒軟件/防火牆是否禁掉

參照http://m.blog.csdn.net/hebbely/article/details/54374979


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM