簡體   English   中英

無法在測試香草機上測試視覺c exe

[英]Testing a visual c exe on a test vanilla machine don't start

該應用程序啟動失敗,因為應用程序配置不正確。 重新安裝該應用程序可能會解決此問題。

這是在沒有安裝Visual Studio的系統上嘗試調試文件時得到的。 我試圖將Debug_NonRedist \\ x86 \\ Microsoft.VC90.DebugCRT復制到與我的exe相同的文件夾中,但是沒有運氣。

  • exe文件夾中Microsoft.VC90.DebugCRT文件夾中的dll。
  • dll位於同一exe文件夾和dll中。


我也安裝了“ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM