使用 ClickOnce 部屬應用程式 (發佈教學和安裝示範)

什麼是 ClickOnce ?

ClickOnce 是一種部署技術,主要有以下優點:
  • 能夠自行更新,且只會下載已變更的部分
  • 每個程式都是獨立的,不會互相干擾
  • 不需要系統管理員權限
ClickOnce 的發佈有以下幾種模式:
  • Web 或網路共用安裝(連接到指定頁面,從網路下載安裝)
  • Web 或網路共用啟動應用程式(安裝在快取內,程式關閉後即無法使用,需要再次安裝)
  • CD、DVD 或 USB 隨身碟(從本地檔案安裝)
註:VB 和 C# 有完整支援 ClickOnce,但 C++ 只有部份支援,詳情請見 ClickOnce Visual C++ 應用程式的部署

發佈 ClickOnce 應用程式

本篇將會使用 Visual Studio 示範使用「從 CD、DVD 或 USB 隨身碟」發佈和安裝

首先先在專案上按下滑鼠右鍵 > 發佈 (B)
點選「新增發行設定檔(A)」,選擇 ClickOnce,點選下一步
發佈位置我們使用預設的路徑,直接點擊下一步
本次示範以安裝以隨身碟的樣式示範,選擇「從 CD、DVD 或 USB 隨身碟」
在「設定」步驟中,可以讓程式在啟動或結束時檢查指定網址或是特定位置是否有檔案可以更新。也可以選擇是否要自動增加版號,但筆者習慣手動調整,所以取消勾選「自動遞增修訂」。
在同一個頁面,上方的「必要條件」可以選擇自動安裝必要條件,預設會自動選擇當前的版本,例如筆者當前的專案是使用 .NET 6,如果使用者在安裝時程式發現沒有就會自動引導安裝。
在同一個頁面,可以點選右上角的「選項」,裡面可以設定軟體資訊等。
筆者習慣把 資訊清單 > 建立桌面捷徑(C) 的選項勾選,方便找到安裝的路徑。
直接跳到「設定」,可以選擇軟體發佈選項,例如 「Framework 相依性」就是一定要安裝執行環境,也可以選擇「獨立式」,在確定系統架構和犧牲容量(發佈完的檔案會很大)下就可以不用安裝執行環境也可以執行程式

點選「完成」後就會看到他自動幫我們建立了一個設定檔,檔名為 ClickOnceProfile.pubxml,預設不會被加入版本控制(CVS)中,也可以手動加入來保留該設定檔。

點選「發佈」來發佈應用程式
在「輸出」視窗中會顯示發布的位置

筆者將發佈完成的檔案放到 Sandbox 沙箱 中測試安裝
使用滑鼠雙擊 setup 即可開啟安裝程式
在剛剛介紹的「必要條件」中有勾選,且當前裝置沒有安裝執行環境,所以跳出視窗引導安裝 .NET 6

等待下載和自動安裝 .NET 6 執行環境

執行環境安裝完成後就會啟動主程式的安裝

安裝完成後會自動啟動應用程式,在剛剛的步驟中有勾選在桌面建立捷徑,也有正常出現



參考資料:
Microsoft(舊): ClickOnce 部署概觀
Microsoft: ClickOnce 安全性和部署

留言