ClickOnce 應用程式部署屬於 .Net Framework 2.0 的新功能,這個功能可以讓你透過一個網頁簡單的執行一之程式,另外程式的更新也是透過一個伺服器來統一管理,所以,無須到每個使用者端進行程式更新。這有點類似使用網頁的經驗,因為,網頁也是統一放置在 web server 上,所以,每個使用者總是能夠瀏覽到最新的網頁,只是 ClickOnce 部署的是應用程式,所以流程稍微複雜一些,不過基本流程差不多,首先會檢查你的系統是否已經安裝該應用程式,如果沒有安裝,則會該始安裝目前最新的版本,如果已經有安裝,則檢查目前是否有更新的版本,如果有則更新,否則就結束。
擁有 ClickOnce 功能的應用程式,可以透過自動或手動方式來支援更新。自動更新方式是程式啟動前/結束前自動檢查更新程式,手動更新則是透過 ClickOnce API(System.Deployment)以程式的方法來控制更新。
Visual Studio 2005 支援 ClickOnce 部署方式,使用上相當的簡單,如同我之前張貼的
"2006.01.19 關於 Click Once 部署的一些資料收集"
只需要透過幾個簡單的步驟就可以完成 ClickOnce 部署。不過這個方式不知是不是我還不了解整個技術背景的關係,使用上雖然方便,可是似乎不太實用。例如無法指定安裝路徑、程式相依檔案的問題等等…
[1]提到如果要部署的應用程式是透過網路,那最好明確告知 ClickOnce 程式的大小,如此可以使用 HTTP 壓縮功能來降低檔案的尺寸。ClickOnce 應用程式進行安裝的時候是透過 bootstrapper 檔案。
ClickOnce 部署方式並非沒有任何缺點,例如他無法安裝驅動程式或更新 Registry。此時就需要搭配 MSI 安裝方式。這也是目前我遇到的問題,應用程式有一些屬於自己的檔案,可是如果透過 VS 的 ClickOnce 動更新功能,會導致應用程式無法安裝在特定的位置,且程式所屬的檔案因為每次版本更新後匯隸屬於一個不同的安裝目錄,導致就有版本的檔案無法重複使用,所以,我覺得除非是很單純的程式,否則較佳的安裝部署方式可能是 MSI + ClickOnce,第一次先透過 MSI 安裝整個應用程式,之後的 patch 更新透過 ClickOnce。
廣告
發表迴響