2010-06-09 129 views
1

我有一個調試.exe文件,我想要在其上沒有安裝MS Visual Studio 2008的其他機器上運行。如何才能做到這一點?釋放選項不起作用,因爲應用程序在構建版本時無法正常工作(不知道爲什麼)。如何在另一臺計算機上運行調試文件?

此刻,我收到一條消息,指出「此應用程序未能啓動,因爲應用程序配置不正確」。

回答

0

您需要在另一臺機器上安裝VC++運行時選擇以下(取決於視覺工作室您正在使用的版本)...

  1. VS2008

  2. 一個(或兩個)
  3. VS2005

+0

我已經安裝了VS2008 distribuation包,但仍然收到相同的錯誤。 – Pazzy 2010-06-09 11:50:35

3

的鏈接你有兩個選擇:

  1. 安裝VC REDIST
  2. 複製調試運行時的調試版本(C和或MFC)成你的應用程序目錄您會在Visual Studio目錄中找到調試運行時,例如C:\ Program Files(x86)\ Microsoft Visual Studio 8 \ VC \ redist \ Debug_NonRedist \ x86 \ Microsoft.VC80.DebugCRT。您必須將此目錄複製到您的應用程序目錄中,並確保應用程序清單引用此版本的運行時。
+0

我應該複製這個目錄或整個文件夾的內容到應用程序目錄嗎?在這裏還有DebugMFC和DebugOpenMP文件夾...這些還需要複製到哪裏? – Pazzy 2010-06-09 11:53:36

+0

將整個文件夾複製到您的應用程序目錄中。如果應用程序使用MFC,則只需要複製DebugMFC。 – humbagumba 2010-06-09 11:56:31

0

通常在大多數情況下,它只是像MSVCR90D.DLL這樣的程序依賴關係的問題。問題在於C++ Runtime的調試版本不是免費的重新分配。

如果將「多線程調試DLL(/ MDd)」中的「代碼生成」選項指定爲「多線程調試(/ MTd)」。這可能是因爲你的程序會在這個改變之後運行。

您可以使用「Dependency Walker」(請參閱​​www.dependencywalker.com)中的分析來查看應用程序的所有依賴關係(包括所有延遲加載DLL)。

+0

嗯,我的發佈版本能夠正常工作,但是當我在目標機器上安裝了redist軟件包時它仍然無法打開。 – Pazzy 2010-06-09 11:49:24

+0

對不起,我不明白你的評論。你問過關於在另一臺電腦上啓動exe的DEBUG版本。現在你說關於RELEASE版本。想要做什麼?如果您使用「多線程調試DLL(/ MDd)」或「多線程DLL(/ MD)」代碼生成設置編譯您的C/C++應用程序,則需要重新分發包。如果您使用「多線程調試(/ MTd)」或「多線程(/ MT)」,您的EXE將更大,但所有C/C++運行時函數都將放在您的EXE內部,因此您不需要大多數情況下,爲C/C++運行時間inslall任何redist包 – Oleg 2010-06-09 12:23:49

+0

對不起,以前沒有任何意義,您的權利,我問的調試exe。沒關係,現在全部排序。再次感謝您的輸入。它幫助了很多:) – Pazzy 2010-06-09 13:16:34

相關問題