2012-09-24 71 views
2

我有一個C++ - CLI項目,我已經使用Advance Installer創建了最終的.exe和所有redist。CLI/C++發佈.exe?

它不起作用..和一場大戰後,我意識到問題是Visual運行時x86。 經過在互聯網上的研究,我發現只有redist可以下載。運行時帶有VS(請讓我知道否則)。

還有一些問題與我沒有完全理解的C++ - CLI有關最終的lib。

如何創建最終的.exe?

+1

你和誰在這場鬥爭? –

+0

>「關於最後的lib」 - Wut? – sehe

+0

我相信這句話是合適的:「託管的C++既不是」 – riwalk

回答

1

C++/CLI旨在運行在CLR之上。 Joel Spolsky寫了關於CLR here的後果,其中一個後果就是你沒有得到一個獨立的EXE文件。

安裝程序需要檢查目標機器上是否安裝了正確版本的.NET。

+0

對不起,這是新的......我該怎麼做? – user1609284

+0

@ user1609284,我對安裝程序的唯一體驗來自我使用WiX(http://wix.sourceforge.net/)所做的一些工作,並且可以爲所需的最低.NET版本設置一個標誌。您需要調查您正在使用的安裝程序以及您需要的.NET版本。 – riwalk

1

客戶端機器需要安裝正確的目標框架:

舊版本一般不相關了。大多數Windows安裝都附帶了最新版本的.NET Framework。 (例如Windows 7,它將.NET Framework 3.5.1作爲一個OS組件)。


更新如果你真的想有一個獨立的可執行映像,您可以使用 單 mkbundle創建一個。

根據您在程序中實際使用的框架庫的數量,您最終會得到一個較大的可執行文件。

可悲的是,這會不會與MSVC工作++專有擴展,如C++/CLI

+0

我安裝了.Net Framework 4.0,沒有任何反應。 – user1609284

+0

(可惜,這不適用於MSVC++專有擴展,如C++/CLI) – user1609284

+0

我無能爲力嗎? – user1609284