2012-03-14 59 views
3

我想創建一個文件'setup.exe',其中包含我在C#中開發的一個應用程序以及.Net Framework 4.0的設置。如何在一個可執行文件中打包安裝(框架+應用程序)?

的想法是:當我執行「的setup.exe」這個人會檢查是否有安裝在計算機上的.NET Framework 4.0,如果不安裝它!

使用InstallShield 2009年

任何人知道如何做到這一點?

讓我知道如果什麼都不懂。

謝謝。

回答

0

我解決了這個問題,創建自定義的動作,這個人會是「打開可執行文件的類型,我叫這個自定義在嚮導的按鈕事件中的動作。

1

是可行的包裝完整(分裂)設置在一個自解壓?您可以使用WinRar或類似的軟件構建一個帶有「自動運行」的壓縮exe文件。

+0

這個提取器會是'.exe'文件,當我點擊執行它會提取所有並開始安裝? – 2012-03-14 16:12:30

+0

是的。您可以指定自解壓時要運行的程序。 WinRar是我想到的第一個自動提取器,但我相信你會發現1000 – 2012-03-14 16:14:45

+0

使用winrar,我該怎麼做? – 2012-03-14 16:22:08

2

關於設置您可以使用內置的機制來與Visual Studio,它們允許例如使SETUP.EXE自動檢查是否安裝了必要的框架版本,如果不存在,安裝它 - 一個很好的起點看MSDN

關於使您的應用程序/ EXE由1個文件,包括所有被管理的依賴,你有幾種選擇:

OR

  • 使用一些工具,如SmartAssembly (商業)
    它可以嵌入和除其他外合併(無需改變你的源代碼)

OR

  • code that yourself in less than 10 lines(免費的,但最小的源代碼更改)
    標記所有所需的依賴作爲「嵌入式資源」 - 通過這種方式,它們被包含在EXE文件中......您需要設置一個AssemblyResolve處理程序,它在運行時從資源中讀取並將所需的DLL返回到.NET運行時...
2

有很多創建設置的框架。
我最喜歡的是WIX,你可以從這裏下載:http://wix.sourceforge.net/
還有一個使用C#創建WIX接口的框架,叫做sharpsetup,你可以從這裏下載它:http://sharpsetup.eu/但我不確定它會適合你因爲目標機器可能沒有.NET開始(儘管可能在.NET 2.0中編寫安裝程序,但我不確定)。

學習維克斯可能需要一些時間,但一旦你過去的這一點,它不應該太難做你想做的。

0

無法與2009年標準的InstallShield,據我所知。您必須至少安裝InstallShield 2010(使用適用於Visual Studio 2010的Installshield 2010擴展包)。

我不知道是否有在「竊取」它的方式...

相關問題