top
Loading...
在VS.NET2005中體驗clickonce技術
做為程序員,我們經常要面對的是對開發模式的選擇,比如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:inetpubwwwrootclickoncedemo),版本是1.0.0.0,并且帶了dotnetframework的安裝包。而通過瀏覽器,可以看到如下的安裝部署窗口:


此時,按INSTALL CLICKONCEDEMO的鏈接,就可以進行安裝了,IE會打開如下窗口以提示你,目前正在下載一個應用程序安裝


此時,選INSTALL就可以進行安裝了。

總結

在vs.net 2005中,對winform應用程序的安裝部署更加方便了,是采用了所謂的smartclient的方式實現的,使的winform的應用程序也可以通過IE進行部署,并且可以很容易的獲得應用程序最新的版本。
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗