2011-05-22 95 views
15

所以我做了一個C#程序,它的偉大和所有(它的Windows窗體應用程序)。它的問題是,我不知道如何在調試模式窗體外使用它。我如何發佈它?我的目標是創建一個兩個文件夾,將一個快捷方式放到一個應用程序中,另一個文件夾將包含應用程序和所有外部程序(一些按鈕鏈接到批處理文件)。然後,我希望能夠將其放入RAR壓縮文件中,並在線上傳以供其他人下載。如何發佈Windows Forms應用程序?

如何發佈它以便發生?我如何從調試模式中取出它?

+0

那不是很wize創建你自己的每一個平臺更新/下載/ maintinance解決方案,點網框架呢,除非你正在使用ClickOnce技術。我會教你如何做到這一點,如果你相應地改變你的問題 – 2011-05-22 13:43:09

+0

如果你將使用ClickOnce,你將能夠自動更新你的應用程序到客戶端,如果需要,也可以覆蓋(例如,打電話在實際使用spwned進程更新文件之前的一些批處理,使用ClickOnce技術通知用戶可用更新等應用程序的分發邏輯。您將能夠直接從您的建築環境發佈您的更新版本。 – 2011-05-22 13:51:38

+0

此外,ClickOnce技術可在幾乎任何Web分配平臺上提供,包括ASP.NET IIS或PHP Apache或Mono。它也可以構建可更新的CD發行版或網絡共享。 – 2011-05-22 14:02:41

回答

17

進入您的項目文件夾,然後導航到/ bin/Release。如果有一個帶有項目標題的EXE文件,請將其複製到某個位置(以及可能已鏈接的任何DLL),然後就是您的程序。如果不存在,請先在Visual Studio中嘗試編譯 - >編譯解決方案。如果它仍然不存在,請導航至/ bin/Debug並執行相同的操作。然後,將所有批處理文件複製到另一個文件夾中,將它們放入同一個文件夾,然後將其複製到RAR中。

P.S.儘量不要使用RAR,很少有人可以提取它們。如果可能的話,使用ZIP或SEA(自解壓存檔)。

+1

WinRAR ....它是免費的。 – Alper 2011-05-22 01:22:10

+5

因爲您建議將Debug目錄中的輸出RAR,所以我低估了您的答案。除非您有特定的理由這樣做,否則您不應該分發該應用程序的調試版本。 – debracey 2011-05-22 01:29:17

+4

@Jacob:嗯,是的,但ZIP功能內置於Windows,Mac和Linux。你必須安裝WinRAR,並且一些有限權限的人不能這樣做。當然,如果你的程序需要這樣的權限運行,那麼它並不重要。 @Chris Fulstow:謝謝:) – Ryan 2011-05-22 01:30:27

14

首先,您需要在發佈模式下構建應用程序,在Visual Studio中,只需將窗口頂部附近的下拉列表更改爲「發佈」即可。這將在您的資源所在的位置創建一個bin/Release目錄。該文件夾將包含您的應用程序的EXE和您需要包含的DLL。它可能(也可能會)包括一些調試*.PDB文件,你做而不是想包括 - 因爲那些包括調試信息。

將該目錄的內容複製到某個地方並將其解壓。

在x86的模式構建。

如果應用程序使用的第三方的DLL不兼容64位(你只能這樣做,如果你有一個具體的理由)

,您可能需要在x86模式下執行發佈版本。要做到這一點,請點擊「任何CPU」下拉菜單並點擊「新建配置」(或類似的東西),然後按照步驟添加x86。然後使用x86-Release設置進行構建。這會將x86二進制文件輸出到源文件所在的bin/x86/Release文件夾。

首選Soltuion

大多數用戶都喜歡選擇某種形式的自動安裝程序,而不是一個簡單的RAR或ZIP的。 Visual Studio(Standard/Pro)可以創建自我安裝的MSI,爲您完成所有工作。基本概述是here。您可以使用Visual Studio提供的嚮導來添加快捷方式/等。

如果你需要一個更強大的安裝程序,您可以檢查出解決方案,如InnoSetupNSIS

+0

通過使用ClickOnce你實際上會避免DLL地獄。 – 2011-05-22 13:55:46

+11

然後進入ClickOnce地獄...... – 2013-04-16 13:41:37

3

Release模式而不是Debug構建應用程序,轉到生成菜單並選擇配置管理器。

更改主動解決方案配置Release。現在,當您構建解決方案時,它會將可執行文件放在/bin/Release文件夾中。

如果您需要在構建解決方案時自動執行某些操作,例如將其打包到RAR或ZIP歸檔文件中,然後將該可分發文件複製到其他文件夾,請查看post-build actions

+0

如果用戶覆蓋默認輸出路徑和目標平臺,或者在不同開發平臺上編譯,則指定的路徑可能無效並且針對應用程序上的特定版本,例如,defatult輸出路徑可以以(bin \ x86 \調試,bin \ x64 \ Debug,<自定義用戶路徑>) – 2011-05-22 14:07:45

+0

@Artur true,但是在這個問題中沒有提及多架構構建,所以這不是一個考慮因素。 – 2011-05-23 01:59:35

-1

的Visual Studio 2010之後,微軟刪除從Visual Studio製作安裝實用工具,而且我們必須從

Get InstallShield Limited Edition for Visual Studio

seperatly downlorad該插件,你必須填寫申請

完好後,轉到 Visual Studio - >新建項目 - >其他項目類型 - >設置和開發

你會看到屏幕follwing

enter image description here

現在,您可以轉到的InstallShield安裝實用程序和改變的事情,你的要求。

enter image description here

添加在項目的debug文件夾中的所有文件中follwing接口和構建解決方案,

最後的安裝將在你的設置folder-->快速查找\ CD_ROM \ DiskImages \ DISK1 * *

希望這將幫助你

+0

您是否認真意味着他應該從調試文件構建解決方案? – 2017-11-27 13:45:11

相關問題