快速創建軟件安裝包-ClickOnce

大家好,我是沙漠盡頭的狼。

.NET是免費,跨平臺,開源,用于構建所有應用的開發人員平臺。

今天介紹使用ClickOnce制作軟件安裝包,首先我們先了解什么是ClickOne。

1. 什么是ClickOnce

以下段落摘自微軟文檔:https://learn.microsoft.com/zh-cn/visualstudio/deployment/clickonce-security-and-deployment?view=vs-2022


ClickOnce 是一種部署技術,使用該技術可創建自行更新的基于 Windows 的應用程序,這些應用程序可以通過最低程度的用戶交互來安裝和運行。

ClickOnce 部署克服了部署中所固有的三個主要問題:

  1. 更新應用程序的困難

使用 Microsoft Windows Installer 部署,每次應用程序更新,用戶都必須重新安裝整個應用程序;使用 ClickOnce 部署,則可以自動提供更新。只有更改過的應用程序部分才會被下載,然后從新的并行文件夾重新安裝完整的、更新后的應用程序。

  1. 對用戶的計算機的影響

使用 Windows Installer 部署時,應用程序通常依賴于共享組件,這便有可能發生版本沖突;而使用 ClickOnce 部署時,每個應用程序都是獨立的,不會干擾其他應用程序。

  1. 安全權限

Windows Installer 部署要求管理員權限并且只允許受限制的用戶安裝;而 ClickOnce 部署允許非管理用戶安裝應用程序并僅授予應用程序所需要的那些代碼訪問安全權限。

過去,這些問題有時會使開發人員決定創建 Web 應用程序而不是基于 Windows 的應用程序,為便于安裝而犧牲了 Windows窗體豐富的用戶界面和響應性。對于使用 ClickOnce 部署的應用程序,您可以集這兩種技術的優勢于一身。

2. 使用ClickOnce創建安裝包

2.1 需要服務器

首先,我們需要一個線上的網站,用于托管軟件更新文件,比如在Dotnet9網站的根目錄創建一個WPFBlazorChat的目錄,那么線上托管地址則是https://dotnet9.com/WPFBlazorChat,目錄如下:

0201.png

2.2 開始制作安裝包

記住上面的線上地址,使用前幾天介紹的WPFBlazorChat做為示例做安裝包,倉庫地址是:https://github.com/dotnet9/WPFBlazorChat,所以上面創建的目錄與項目名同名:WPFBlazorChat。

  1. 選擇WPFBlazorChat工程,右鍵發布
0202.png
  1. 在彈出的界面,選擇ClickOnce,點擊下一步
0203.png
  1. 發布位置隨意
0204.png
  1. 選擇軟件安裝包獲取地址
0205.png
  1. 設置
  • 可配置程序運行時自動檢測更新、軟件版本號等,如下圖:
0206.png

如上圖,如果勾選【自動遞增修訂號】,那么每次點擊發布,修訂號會遞增(感覺說的是廢話,主要是方便版本號管理)。

  • 點擊應用程序文件,可勾選哪些文件可以不用下載,如下圖:
0207.png
  • 選擇先決條件,即選擇程序的運行時,因為程序默認支持.NET 6和.NET 7,所以站長勾選了.NET 7 x64,win7 32位的同學如有需要,按需選擇:
0208.png
  • 選項配置

配置軟件安裝包信息,其中比較重要的是發布者名稱和套件名稱,決定軟件程序釋放位置:

0209.png
0223.png

部署文件配置,其中Publish.html配置了安裝包下載頁面

0210.png
  1. 簽名清單

未設置,直接下一步:

0211.png
  1. 程序發布配置

按情況選擇,站長選擇的.NET 7 64位發布,注意需要和前面選擇.NET桌面運行時版本一致

0212.png
  1. 點擊發布

最后一個操作,點擊發布

0213.png

發布完成,點擊【發布位置】路徑:

0214.png

2.3 上傳

上面制作了軟件安裝包,還差一個步驟,就是把安裝包丟網站上去,這個就比較簡單了,前提是網站已經部署了哈:

0215.png
0216.gif

2.4 程序安裝、運行

地址是:https://dotnet9.com/WPFBlazorChat/Publish.html

0217.png

如上圖,顯示了我們創建安裝包配置的軟件安裝包名稱、版本號、發布者、需要的.NET運行時版本等,點擊【安裝】按鈕,會下載一個setup.exe安裝文件,這個文件很小,666KB,好吉利的數字:

0218.png

運行setup.exe,會自動從上面的服務器(https://dotnet9.com/WPFBlazorChat/)中檢測版本號、文件更新情況,自動下載程序文件了:

下圖是服務器軟件安裝包信息:

0224.gif

下圖是安裝過程截圖:

0219.gif

安裝包下載完成后,程序自動運行,下面就是測試程序運行界面了,WPF Blazor開發的喲,點擊戳源碼

0220.gif

3. Q&A

  1. ClickOnce 部署的工作原理

核心 ClickOnce 部署體系結構基于兩個 XML 清單文件:應用程序清單和部署清單。 這些文件用于描述從哪里安裝 ClickOnce 應用程序、如何更新這些應用程序以及何時更新它們。

更多請訪問微軟文檔:https://learn.microsoft.com/zh-cn/visualstudio/deployment/clickonce-security-and-deployment?view=vs-2022

本文完,下篇介紹WPF中如何使用Blazor開發應用。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,501評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,673評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,610評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,939評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,668評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,004評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,001評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,173評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,705評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,426評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,656評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,139評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,833評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,247評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,580評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,371評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,621評論 2 380

推薦閱讀更多精彩內容