应用程序无法正常启动0xc0150002 解决方式
我也遇到過(guò)此問(wèn)題,解決的方法:
方案一: 在項(xiàng)目的“屬性|配置屬性|鏈接器|常規(guī)”中的“啟用增量鏈接”選擇“否”。此方法阻斷了問(wèn)題產(chǎn)生的源頭,其每次生成exe文件時(shí)都直接嵌入清單文件,而不是默認(rèn)的依據(jù)時(shí)戳而決定是否更新清單文件。
方案二:不嵌入清單文件。在項(xiàng)目的“屬性|配置屬性|清單工具|輸入和輸出”中的“嵌入清單”選擇“否”,從而在生成exe文件時(shí)附隨生成一個(gè)清單文件(默認(rèn)情況下,其文件名稱(chēng)為exe文件的全名加上“.manifest”),避免了嵌入清單文件可能失敗的問(wèn)題。
,謝謝!
近期做一個(gè)項(xiàng)目寫(xiě)了一個(gè)VC6下的MFC程序,結(jié)果傳到別人的機(jī)子上(WIN7)出現(xiàn)了應(yīng)用程序正常初始化(0xc0150002)失敗的問(wèn)題,當(dāng)時(shí)還以為就是WIN7的問(wèn)題,后來(lái)把程序復(fù)制到一臺(tái)WINXP SP3的程序下還是不行。
為什么我的機(jī)子上能夠,而別人的機(jī)子上執(zhí)行不了呢?
開(kāi)始google一下,找到了解決的一個(gè)辦法——在程序執(zhí)行出錯(cuò)的時(shí)候,右鍵“我的電腦”,然后點(diǎn)擊“管理”,再點(diǎn)擊“事件查看器",最后看下“系統(tǒng)”,信息例如以下:
(1)找不到附屬匯編 Microsoft.VC80.DebugCRT,上一個(gè)錯(cuò)誤是 參照的匯編沒(méi)有安裝在系統(tǒng)上。
(2)Resolve Partial Assembly 為 Microsoft.VC80.DebugCRT 失敗。 參考錯(cuò)誤消息: 參照的匯編沒(méi)有安裝在系統(tǒng)上。
(3)Generate Activation Context 為 C:/scanfile/Debug/libclamavd.dll 失敗。 參考錯(cuò)誤消息: 操作成功完畢。
能夠推斷是libclamavd載入的時(shí)候出了點(diǎn)問(wèn)題了,看了下它的manifest文件,其依賴庫(kù)是Microsoft.VC80.DebugCRT ,這樣問(wèn)題就非常明顯了,這個(gè)dll是在VS2005下編譯的,而別人的機(jī)子上沒(méi)有這個(gè)環(huán)境,我們所編譯生成的應(yīng)用程序因?yàn)槿鄙俦匦璧腄ebug版本號(hào)的VC執(zhí)行庫(kù)而錯(cuò)誤發(fā)生。
解決方法:到我的機(jī)子上的vs2005的安裝文件夾下,搜索名字中包括串Microsoft.VC80.DebugCRT的文件,共同擁有3個(gè)dll文件(msvcm80d.dll,msvcp80d.dll,msvcr80d.dll)和一個(gè)manifest文件(Microsoft.VC80.DebugCRT.manifest),復(fù)制到別人機(jī)子上的project可運(yùn)行文件文件夾下,問(wèn)題就攻克了。
從這個(gè)問(wèn)題能夠發(fā)現(xiàn)幾點(diǎn):
(1)善用工具能夠幫助定位問(wèn)題:事件查看器,depends walker等
(2)搜索效率,比方這個(gè)問(wèn)題直接搜 ”應(yīng)用程序正常初始化失敗 0xc0150002“肯定會(huì)得到非常多噪音信息。。。
PS:網(wǎng)上的解決的方法還有就是說(shuō)下載vcredist_x86,我試了下不大好使。。。
總結(jié)
以上是生活随笔為你收集整理的应用程序无法正常启动0xc0150002 解决方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 伏羲八卦方位图(浅谈伏羲八卦,速记先天方
- 下一篇: Android实现抽奖转盘