應用程式正常初始化(0xc015002)失敗解決方案

來源:互聯網
上載者:User

標籤:blog   http   os   檔案   io   art   re   c   

VS2005 sidebyside manifest error Microsoft.VC80.MFC Microsoft.VC80.CRT Microsoft.VC80.MFCLOC msvcr80.dll mfc80.dll eventlog VC2005 編譯出來的程式檔案,採用了manifest方式來指定dll檔案。對於win98、win2000系統,把exe檔案和VC的 dll串連庫放到一起就 成了。對於winxp、win2003系統就要麻煩的多了,VC的串連庫預設是被放到了winsxs檔案夾下,結果造成在這些系統上,直接拷貝exe檔案, 往往是不能執行(找不到msvcr80.dll、mfc80.dll檔案等),或者在事件記錄中報錯。 解決方案: 方式一、在目標系統上安裝2005版vcredist_x86.exe。 方式二、直接拷貝VS8檔案夾下的VC / redist / x86 / 檔案夾下的 Microsoft.VC80.MFC、Microsoft.VC80.CRT、Microsoft.VC80.MFCLOC幾個檔案夾,到exe所在的檔案夾下,檔案夾結構例如以下: ./myapp.exe ./myapp.dll ./Microsoft.VC80.CRT/ ./Microsoft.VC80.MFC/ ./Microsoft.VC80.MFC/Microsoft.VC80.MFCLOC/ 然後改動Microsoft.VC80.MFCLOC檔案夾下的Microsoft.VC80.MFCLOC.manifest檔案,將當中的version=“8.0.50727.42“,改動為version=“8.0.50608.0“。 方式二的檔案夾結構,在xp和2003下是沒有問題的,可是在win98/win2000中,由於exe和dll不在同一檔案夾下,就會出現找不到dll的問題。 有什麼更好的解決呢?呵呵,國外的一個大牛(http://blog.kalmbachnet.de)找到一絕招: 方式三、 1、首先編譯myapp.exe的時候,在配置中,選擇產生單獨的manifest檔案,如:myapp.exe.manifest。 2、將myapp.exe、myapp.exe.manifest複製到一個檔案夾下 3、將Microsoft.VC80.MFC、Microsoft.VC80.CRT、Microsoft.VC80.MFCLOC幾個檔案夾下的檔案,都複製到myapp.exe所在的檔案夾下。 4、將Microsoft.VC80.MFCLOC.manifest檔案裡的version=“8.0.50727.42“,改動為version=“8.0.50608.0“。 5、編輯myapp.exe檔案夾下的全部 .manifest檔案,將檔案裡的publicKey索引值刪除,通常是publicKeyToken=“1fc8b3b9a1e18e3b“ 6、然後執行myapp.exe看看。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.