做為程序員,我們經常要面對的是對開發模式的選擇,比如C/S模式和b/s模式。現在,很 多人都似乎比較喜歡選擇B/S模式進行web的開發,這其中的原因是很多的。但其中一點很重 要的原因,那就是因為B/S開發的話,部署非常之容易,因為這樣很容易實現"瘦客戶端",客 戶端只需要使用浏覽器就可以運行應用了。但B/S模式下開發的WEB應用,也有其不足之處, 主要是由於功能實現起來,是沒辦法和傳統的C/S模式下的winform應用相比的,很多winform 下要實現的優秀功能,在Web上都很難實現,或者說有的根本沒辦法實現。但傳統的winform, 在部署上也有自己的困難之處,如果客戶端多的話,每次部署和版本升級都十分麻煩。
在.net 2.0裡,微軟新推出了一項叫clickonce(一次點擊)的應用程序部署技術,可以很 好的解決上面的這個矛盾。在vs.net 2005 beat 2中,已經整合了clickonce的技術,使到用 戶可以很方便地部署WINFORM開發的程序,很容易地管理其升級部署。本文,將一步步介紹在 vs.net 2005中,如何使用clickonce技術來部署windows應用程序。
clickonce能帶給我們什麼
首先,通過clickonce技術,我們可以實現如下的部署方式:
1) 在設計完winform程序後,可以選擇將程序發布到如下的存貯位置:文件系統,本地的 Web服務器,FTP站點,遠程Web站點。
2) 當應用程序部署到相應的位置後,用戶可以通過浏覽器浏覽一個叫publish.htm的文件 ,點擊下載的鏈接,將應用程序下載到本機安裝。這個publish.htm是部署應用程序的一個入 口文件,在下文會繼續討論。
3) 當用戶安裝完程序後,會自動產生快捷方式到桌面,並且在控制面版的增加刪除中會 找到該程序。
4) 當用戶啟動程序時,系統可以首先去檢查服務端是否有新的程序版本,如果有的話, 則會自動連接服務端,查看是否有新的版本,如果有新的版本的話,則自動下載新的版本到 本機並安裝
一個簡單的clickonce程序部署的例子
首先,我們打開visual studio 2005 beta 2,用C#建立一個叫clickoncedemo的windows 應用程序。之後拖放一個按鈕到窗體中,在該按鈕的click事件中寫入如下代碼:
private void btnClick_Click(object sender, EventArgs e)
{
MessageBox.Show(System.Reflection.Assembly.GetExecutingAssembly ().Location);
}
當運行上面的程序,系統會輸出當前應用程序所在的位置,如下圖所示:
接下來,我們可以對其進行發布了。我們首先看下在vs.net 2005中,其中的發布選項卡 是怎麼樣的。鼠標右擊clickoncedemo工程,選其中的"properties"屬性菜單,如下圖所示
上圖是項目的屬性頁,其中有許多選項。我們著重介紹其中的"publish"發布選項卡的配 置。在最上面的"publish location"選項框中,允許你指定將項目發布的位置。可以點旁邊 的"…"按鈕,進一步浏覽確定發布的位置,如下圖:
這裡,我們可以設定項目要發布的位置,比如文件系統,本地服務器,FTP站點,遠程站 點等。
接著,我們在"install mode and setting"選項組中,可以點選"Prerequisites..."按鈕 ,這裡可以設置要運行該應用程序時,需要額外安裝的庫文件或其他必須的文件,如下圖所 示。默認必須安裝的是.net framework 2.0。
同 時,我們可以選擇"install mode and setting"選項卡中的update選項,這個選 項卡如下圖所示:
其中,默認 是采用啟動應用程序時檢查更新的選項的。當然,你也可以選擇,是在應用程序連接上網時 自動檢查是否有更新的版本,或者是選擇當應用程序啟動後,以後台進程的方式,自動檢查 是否有新的版本。
最後,我們選擇"installl mode and setting"選項卡中的 "options"選項卡,如下圖,填入一些關於應用程序的信息。
最後,我們 已經設置完畢,可以開始進行部署了。我們使用其中的"publish wizard"發布向 導進行發布。首先選定要發布的位置,如下圖所示:
點 "NEXT"後,出現如下圖,這裡,可以選擇你的應用是在離線或是可以同時運行在 離線和在線狀態下的
當應用是可 以在在線或者離線狀態下都可以運行時,發布成功後,應用程序可以在桌面出現快捷方式。 當應用程序只能在在線狀態下運行時,應用程序只能通過發布頁面通過浏覽器執行。
最後再選NEXT後,就成功完成了發布了,系統並自動打開IE浏覽器,轉到publish的頁面。我 們先來看下,在該應用程序發布到的目的目錄下,我們會發現有如下圖的文件。
現在我 們可以看到我們已經成功將clickoncedemo應用程序發布到當前IIS的根目錄下了 (d:\inetpub\wwwroot\clickoncedemo),版本是1.0.0.0,並且帶了dotnetframework的安裝包。而 通過浏覽器,可以看到如下的安裝部署窗口:
此時,按 INSTALL CLICKONCEDEMO的鏈接,就可以進行安裝了,IE會打開如下窗口以提示你,目前正在 下載一個應用程序安裝
此時,選 INSTALL就可以進行安裝了。
總結
在vs.net 2005中,對winform應用程序的安 裝部署更加方便了,是采用了所謂的smartclient的方式實現的,使的winform的應用程序也 可以通過IE進行部署,並且可以很容易的獲得應用程序最新的版本。