ClickOnce是什么玩意兒,這個問題嘛,在21世紀的互聯網嚴重發達的時代,估計也沒有必要大費奏章去介紹了,弄不好的話,還有抄襲之嫌。因此,有關ClickOnce的介紹,各位朋友可以直接查找MSDN文檔,或者看下面這里,這是百度百科上的,其實也是Ctrl + C版本。http://baike.baidu.com/view/1390498.htm
如果你對這些理論的東西不感興趣,沒關系,上面所提及的內容你完全可以無視之。我們只要知道,ClickOnce是一種應用程序部署方式即可。那什么是部署呢? 我們不妨查一查詞典,部署的釋義為安排、布置等,而放到我們的應用程序來說,我們通俗的叫法就是安裝。即把你開發好的應用程序布置到客戶的計算機上,或者說安裝到客戶的計算機上,這就是部署。
所以我們可以說ClickOnce應用程序就是一類安裝包裝,它可以一步到位進行安裝,而不像我們所使用的傳統安裝包那樣,要N個"下一步",然后才是完成。
也許有人也說,發布ClickOnce包不是很簡單嗎? 在VS里面點幾下鼠標就完事了嗎? 你還拿來寫博客干嗎? 首先,法律並沒有規定簡單的東西不能拿來寫博客;其次,對於許多初學者朋友來說,我想是有參考價值,至少會有;再者,有些小問題可能大家經常會忽略的。
我們先來發布一個Windows Forms應用程序,練練手。
准備條件:先確保安裝了IIS,如果沒有,就趕緊動手吧,因為下面我們要做的例子,是把ClickOnce同時發布到本地文件和IIS服務器上的。至於如何安裝,請Search the Internet吧。
- 以管理員身份運行VS。新建一個Windows窗體應用程序項目。
- 把窗口的標題(Text屬性)改成你要的標題,我這里改為"宇宙無敵應用程序"。然后再拖一個Label控件,把文本改為"超級應用,天下無敵。"。大概就如下圖所示。是不是很霸氣?

- 好了,就這樣吧,夠簡單,這就是我們待會兒要發布的應用程序。
- 好,開始發布ClickOnce安裝程序。打開"解決方案資源管理器",在項目節點上右擊,從彈出的快捷菜單中選擇【屬性】,打開項目屬性窗口,切換到"發布"選項卡。

- 如下圖所示,有兩個發布位置。

發布位置可以選擇本地文件夾,也可以選擇IIS上的Web服務器地址,當然FTP也行。這兩個地方也沒什么特別,如果你計划把應用程序直接發布到本地,就這樣填:

如果你想把安裝程序發布到服務器,可以這樣填,也可以單擊右邊的
按鈕來選擇一個位置。

如果你希望在本地文件目錄中發布一份,同時又想放到服務器上讓用戶下載,可以這樣填。

- 安裝模式一般選擇第二項,不用解釋,看字面意思就明白了,如下圖。

- 我們的程序一般來說不可能是"終極"版,通常我們會不斷更新或升級,所以,在"發布"頁面中,我們可以單擊"更新"按鈕,隨后會彈出一個窗口,如下圖。

我們可以設置應用程序在什么時候檢查更新,這里我改為每次運行時都檢查更新。

獲取更新位置,可填可不填,通常與發布位置相同。

點擊確定按鈕,關閉窗口。
- 發布版本號,勾選"隨每次發布自動遞增修訂號"。這樣一來,我們既可以自己填寫版本號,如果忘記修改,也可以自動更新。

- 單擊"發布向導"按鈕,打開向導窗口,這里我們可以重新設置發布位置。

- 單擊下一步,選擇一種安裝來源。

我們前面設置了IIS服務器的位置,所以默認是從網站安裝,如果我們的應用程序是刻到光盤中來分發給客戶的,也可以選擇從CD/DVD安裝。
- 單擊下一步,選擇應用程序的運行方式,如果選擇CD/DVD安裝,則不需要此步。

通常較好的做法是選擇既可以離線使用,也可以在連接時使用。
- 單擊下一步,再單擊完成按鈕,這時候我們會看到VS正在發布ClickOnce應用程序。

只要看到"發布成功"四個字就說明大功告成了。
下面我們來測試一下。
本地安裝:我們上面的例子是生成了兩個ClickOnce安裝程序的,一個在本機文件中,一個在IIS服務器上。找到發布后的本地目錄,如上面的d:\MyPublic\。雙擊setup.exe或MyApp.application文件,都可以啟用安裝程序。

我們看到,出現安全提示,如果確定應用程序來源合法,可以點擊"安裝"按鈕進行安裝。
安裝成功后,我們的超級應用程序就運行起來了。

既然是叫ClickOnce了,那為什么我們剛才Click了不止一次呢? 那是因為缺少可信任的發布者證書導致出現安全提示的。在下一節中,我們會介紹如何自己制作證書,並在客戶計算機中安裝證書,那時候大家就會看到真正的ClickOnce,只要Click一下就可以安裝了。
現在,我們可以打開"程序和功能"控制面板把應用程序卸載掉。
網站安裝:打開瀏覽器,輸入剛才發布的Web地址,在后面加上一個.application后綴的文件名。比如我們這個例子的清單文件叫MyApp.application。但我們會發現,找不到資源。
打開服務器上的目錄一看,里面竟然是空的,我暈。
沒關系,我們只要把剛才的發布選項改一下就行了。

然后重新發布就可以了。

我們看到,安裝程序可以被激活了。
無論是哪種方式發布,無非就是把安裝給客戶,然后安裝到他們的機器上罷了,所以,大家覺得哪種做法最簡單就用哪種。這些東西也沒有說什么硬性的條條框框,一切都是技巧而已。
好吧,本篇就說到這里吧。88
