[英]Testing a visual c exe on a test vanilla machine don't start
該應用程序啟動失敗,因為應用程序配置不正確。 重新安裝該應用程序可能會解決此問題。
這是在沒有安裝Visual Studio的系統上嘗試調試文件時得到的。 我試圖將Debug_NonRedist \\ x86 \\ Microsoft.VC90.DebugCRT復制到與我的exe相同的文件夾中,但是沒有運氣。
我也安裝了“ Microsoft Visual C ++ 2008可再發行組件包”。
調試CRT不可分發。 “ Microsoft Visual C ++ 2008可再發行組件包”不包括調試CRT。 該應用程序具有自動生成的清單,該清單告訴操作系統從SxS系統加載調試CRT。
有關使用私有程序集的方法,請參見此CodeProject文章 ,以便您的應用程序使用您手動復制到其他系統的調試CRT dll。
最簡單的解決方案是使用靜態鏈接而不是動態鏈接的CRT編譯exe。
使用Visual Studio打開您的項目。
從菜單中選擇“項目”->“屬性”(或右鍵單擊該項目,然后從“解決方案資源管理器”中選擇“屬性:”)。
從選項卡式樹控件中:配置屬性:C / C ++:代碼生成
將“運行庫”設置從“多線程調試DLL(/ MDd)”更改為“多線程調試(/ MTd)”
重建,重新復制,一切都應該很好
否則,另一種解決方案是實際構建捆綁VC9運行時位的MSI。 建立一個包含以下MSM合並模塊的安裝項目:
“ C:\\ Program Files \\ Common Files \\ Merge Modules \\ Microsoft_VC90_DebugCRT_x86.msm”
“ C:\\ Program Files \\ Common Files \\ Merge Modules \\ policy_9_0_Microsoft_VC90_DebugCRT_x86.msm”
(如果運行的是64位,則這些文件位於“ c:\\ program files(x86)”目錄中。)
最后,如果這不起作用,則可能還有其他一些DLL(MFC?)也可能需要復制。 我相信當您收到“應用程序配置不正確”錯誤時,可以查看系統事件日志(“控制面板”->“管理工具”->“事件查看器”)。 通常,會有有關丟失的DLL的詳細錯誤消息。
我建議創建一個發布版本,並在普通計算機上嘗試該版本(以及在該計算機上安裝的Microsoft Visual C ++ 2008可再發行組件包),然后查看是否可行。
您的應用程序很可能還使用了您可能尚未復制過的MFC和C ++ DLL。 即MFC90D.DLL,MSVCR90D.DLL,MSVCP90D.DLL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.