應用程式正常初始化失敗"-0xc0150002 解決辦法
---前言:
畢業設計用OpenCV了庫最完後,最終釋出,在其它人的電腦上執行時,出現了這個
0xc0150002的錯誤,終於找到了正確的方法,並解決之。。。
如下:
最近幾天被這個問題困惑了許久。 不禁感嘆微軟的東東真是越做越爛了,也終於明白了時隔12年大家仍然死守VC6的原因。。
用VC2005編譯的程式,編譯時沒有任何錯誤,但是執行時就是提示“應用程式正常初始化失敗”!! 查找了各方面資料,做了各種嘗試,網上說什麼的都有:有讓安裝vc2005 sp1補丁的;有讓安裝vcredist_x86.exe的; 有讓把CRT庫的dll直接拷貝到程式目錄的; 有讓清理登錄檔的;有讓裝.NetFramework新版本的;有讓查manifest的;
結果我嘗試了半天,幾乎都是浪費時間。上面最後一條說的還算正確,只是作者把事情描述得太繁瑣了。。現在把處理的方法說一下,省得大家再走彎路:
1. VC2003、VC2005、VC2008及其後續版本,對底層最基本的CRT、MFC、ATL庫都進行了重構,為了避免不同版本的庫引起衝突,重構後的庫檔案一般放在 C:\\windows\WinSxS 資料夾中,並用特定的資料夾\檔名稱進行標識;
2. 與VC6不同, VC2003、VC2005、VC2008及其後續版本,引入了manifest清單的概念,即應用程式編譯後會同時生成對應的.manifest檔案,並將該.manifest檔案作為資源編譯到dll或者exe中去。.manifest檔案實際上是一個XML格式的文字檔案,裡面記錄了dll或exe中要引用的CRT、MFC、ATL庫的版本和名稱。VC6編譯的應用程式對CRT、MFC、ATL的dll都是直接呼叫,而VC2003、VC2005、VC2008編譯的程式都是先查詢編譯到資源中的manifest中的記錄,然後按照記錄提供的版本和名稱去搜尋對應的CRT、MFC、ATL庫以及隨庫釋出的.manifest檔案,搜尋的路徑包括當前目錄、C:\\windows\WinSxS
等等,如果沒有找到對應的庫檔案,則提示“應用程式正常初始化失敗”;
3.因此解決這個問題的辦法就是:(a)用文字編輯器開啟exe或dll對應的.manifest檔案,檢視它引用的CRT、MFC、ATL庫的版本;或者,用UltraEdit直接開啟exe或者dll,從資源區中找到編譯進去的.manifest資訊,找到它引用的CRT、MFC、ATL庫的版本;或者,執行程式,當程式彈出“應用程式正常初始化失敗”對話方塊時,在桌面上右鍵點選“我的電腦”-“管理”-“事件檢視器”-“系統”,雙擊檢視其中的記錄,可以看到出錯的原因是因為缺少了某某版本的CRT、MFC、ATL庫,記錄下這個版本資訊;(b)記錄到的庫的版本資訊一般類似於“Microsoft.VC90.DebugCRT”,之後到C:\\windows\WinSxS
或者VC200X的安裝資料夾中搜索包含這個字串的資料夾和檔案,將搜尋到的dll和.manifest檔案都拷貝到應用程式所在的資料夾中,其中,.manifest檔案必須重新命名為“Microsoft.VC90.DebugCRT.manifest”(這裡以Microsoft.VC90.DebugCRT為例),這樣應用程式就可以正常運行了;(c)注意:庫的.manifest檔案和dll要一同拷貝到應用程式根目錄去,因為應用程式會將編譯到內部的manifest資訊與外部的.manifest檔案進行對比,之後才會對庫的dll進行呼叫。如果只拷貝庫的dll檔案是沒有用的;
4.如果本機編譯和執行程式都ok,但是將編譯好的程式拿到其它機器上確無法執行,則多半也是這個原因。另外,如果提示"應用程式配置不正確",大多也是因為上面所說的CRT、MFC、ATL庫版本與應用程式不匹配導致的,可以如法炮製進行解決;
好了,就這些。。快過年了,祝everyone新年愉快。。 分享本身也是一種快樂。。
相關推薦
應用程式正常初始化失敗"-0xc0150002 解決辦法
---前言: 畢業設計用OpenCV了庫最完後,最終釋出,在其它人的電腦上執行時,出現了這個 0xc0150002的錯誤,終於找到了正確的方法,並解決之。。。 如下: 最近幾天被這個問題困惑了許久。 不禁感嘆微軟的東東真是越做越爛了,也終於明白了時隔12年大家仍然死守VC6的原因。。 用VC
應用程式正常初始化失敗!//找不到 msvcrtd.dll
2010年01月12日 11:21 暈死,寫了半天,網路故障~又得重寫,做個筆記也不容易啊~ 記錄一下幾天的折騰,順便做個小總結。 想要把vs2008編譯出的debug版的可執行檔案拿到沒有安裝vs2008的電腦上執行。為什麼不用r
整合推送後,阿里雲旺初始化失敗的解決辦法
app需要同時整合聊天和推送功能,經過調研,聊天決定選用阿里的sdk(百川雲旺)。 經過一個星期的努力,聊天的功能開發完成,推送順便用了之前用過的百度推送。在模擬器上執行挺正常的,接收推送,兩個app之間發訊息。但在真機上測試時,某些手機上(華為、vivo)雲旺的聊天用不了
MATLAB R2017a 進入主界面以後一直處於初始化狀態的解決辦法
界面 分享 mage windows 系統 問題 選項 tla image 自從前幾天更新了win10系統,結果發現matlab不能用了,進入主界面一直初始化,沒完沒了。 網上說可能是許可證等問題,但經過嘗試發現仍然無法解決問題。 仔細一想,發現win10系統
Matlab2017b啟動慢,一直處於初始化狀態的解決辦法
今天終於完成安裝Matlab2017b,很高興開啟軟體,雖然2017b優化了實時編輯器,函式引數提醒等很多實用功能,但是初始化速度真的是等了我4-5分鐘;最後找到解決辦法,原因在於軟體查詢授權檔案時間太長,所以解決自然是快速定位license檔案: 現象如下:
解決rk3288啟動SurfaceFlinger 初始化失敗問題
最近編譯rk3288原始碼遇到一個奇怪的問題,正常編譯使用的Android原始碼。如果做一些改動之後。再燒錄啟動失敗很是苦惱,主要報下面錯誤 kernel 失敗日誌 [ 4.088148] EXT4-fs (mmcblk0p12): recovery complete [
mysql安裝問題記錄MSVCR120.dll檔案丟失,無法正常啟動(0xc000007b),初始化失敗
並先執行第一個檔案安裝.NET 2.0、.NET 3.5等 然後安裝第二個檔案進行安裝 最後初始化失敗 原因:my.ini檔案格式是utf-8 解決辦法,my.ini檔案儲存為ANSI格式檔案
Android應用安裝完成後開啟應用出現初始化兩次解決方案
啟動介面加上 if (!isTaskRoot()) { finish(); return; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(
初始化失敗、初始化軟體包後端失敗、yum-complete-transaction解決方法
問題簡介:最近進入到CentOs6.3的虛擬機器裡時,每隔幾分鐘就會跳出一個提示框如下: 本人新手,直接在終端中輸入:“yum-co
tomcat啟動多個應用logback初始化失敗報Web app root system property already set to different value: 'webapp.root'
tomcat部署啟動啟動專案: 這兩個專案都使用了logback; 由於兩個應用裡面的web.xml都沒有配置webAppRootKey,如果沒有配置webAppRootKey就會使用預設的webapp.root 就會使用預設的webapp.root 1.沒有配置webA
Adobe PhotoShop安裝程式無法初始化的解決辦法
近日需要使用PhotoShop,不想下了好幾個水版(給大家一個可以用的 http://pan.baidu.com/s/1dDnJLy5),不僅安裝不了而且把機子的登錄檔改了,再次安裝時就出現了“安裝程式無法初始化”的問題,網上各種查詢,零零散散的,現將解決辦法整理
關於 vue-cli 初始化專案失敗的解決辦法
相信很多初學VUE的朋友很多都碰到了初始化專案報錯的情況,我也是去搜索了很多種方法來嘗試解決,不過收穫甚微,有的需要把hosts檔案還原,由於我的是更改後用來透過DNS連結google的,就沒有還原,最後只能是用了最簡單直接的辦法解決了,上圖之後我執行了①、vue init
Arduino SD庫不能正常初始化SD卡的解決方法
用SD卡模組,長相和UNO一樣的那種直接插上 如圖 呼叫SD庫的官方例子不能初始化。 解決辦法 1.就是將IDE更新到最新的,現在我用的是cc的1.6.10不能正常,更新到1.6.12就可以了,大家說1.6.10有很多問題 2.在setup函式里加上pinMode(10,O
安裝oracle11g INS-30131執行安裝程式驗證所需的初始設定失敗的解決方法
安裝oracle11g [INS-30131] 執行安裝程式驗證所需的初始設定失敗。 解決方法 第一步:控制面板>所有控制面板項>管理工具>服務>SERVER 啟動 TCP/IP 啟動 第二步: 1.點選 開始->執行
基於影象語義的視覺化同時定位和建圖的面向應用程式的移動機器人自主導航解決方案綜述
# 基於影象語義的視覺化同時定位和建圖的面向應用程式的移動機器人自主導航解決方案綜述 論文名稱: A survey of image semantics-based visual simultaneous localization and mapping Application-oriented solut
uploadify在chrome下初始化失敗,在Firefox下卻可以原因探析
報錯 logs .com log 其他 原因 初始化 -1 參考 如果沒有報錯,在其他瀏覽器下沒問題,那就只有一種可能:瀏覽器flash加載失敗,解決辦法是,更改瀏覽器對站點flash的設置。參考下圖: uploadify在chrome下初始化失敗,在Firefox下卻
IP錯誤引起MongoDB副本集初始化失敗
got 報錯 for replset 17. uri ini map pass 問題描述: 在給客戶搭建環境的時候,在初始化一個MongoDB副本集的過程中,出現了初始化失敗,報"No host described in new configuration 1 f
總結遇到的幾次MongoDB副本集初始化失敗問題
alt 51cto http 報錯 param 0.0.0.0 ^c fir nodes 前言: 在之前搭建MongoDB集群中,遇到過幾次小問題引起的初始化副本集失敗,都是之前初學時踩的坑,做個小結。 1、IP錯誤引起MongoDB副本集初始化失敗 這個錯誤在另一篇文章已
hiveMetastore元資料庫初始化失敗:java.io.IOException: Schema script failed, errorcode 2
Traceback (most recent call last): File "/var/lib/ambari-agent/cache/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py", line
Android 匯入環信,初始化失敗 java.lang.UnsatisfiedLinkError: Couldn't load hyphenate from loader dalvik.system
錯誤 06-13 15:06:51.813 8467-8467/com.wlkj.ciyun.sj E/AndroidRuntime: FATAL EXCEPTION: main