快速創建軟體安裝包-clickonce

快速創建軟體安裝包-clickonce

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

最后更新 2022/11/2 下午8:56
沙漠尽头的狼
预计阅读 5 分钟
分类
.NET
标签
.NET C#

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

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,目录如下:

2.2開始製作安裝包

记住上面的线上地址,使用前几天介绍的WPFBlazorChat作为示例做安装包,仓库地址是:https://github.com/dotnet9/WPFBlazorChat,所以上面创建的目录与项目名同名:WPFBlazorChat

  1. 选择WPFBlazorChat工程,右键发布

  1. 在彈出的界面,選擇clickonce,點擊下一步

  1. 發布位置隨意

  1. 選擇軟體安裝包獲取地址

  1. 設置
  • 可配置程式運行時自動檢測更新、軟體版本號等,如下圖:

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

  • 點擊應用程式文件,可勾選哪些文件可以不用下載,如下圖:

  • 選擇先決條件,即選擇程式的運行時,因為程式默認支持.net 6和.net 7,所以站長勾選了.net 7 x64,win7 32位的同學如有需要,按需選擇:

  • 選項配置

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

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

  1. 簽名清單

未設置,直接下一步:

  1. 程式發布配置

按情况选择,站长选择的.NET 7 64位发布,注意需要和前面选择.NET桌面运行时版本一致

  1. 點擊發布

最後一個操作,點擊發布

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

2.3上傳

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

2.4程式安裝、運行

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

如上图,显示了我们创建安装包配置的软件安装包名称、版本号、发布者、需要的.NET运行时版本等,点击【安装】按钮,会下载一个setup.exe安装文件,这个文件很小,666KB,好吉利的数字:

运行setup.exe,会自动从上面的服务器(https://dotnet9.com/WPFBlazorChat/)中检测版本号、文件更新情况,自动下载程序文件了:

下圖是伺服器軟體安裝包信息:

下圖是安裝過程截圖:

安装包下载完成后,程序自动运行,下面就是测试程序运行界面了,WPF Blazor开发的哟,点击戳源码

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開發應用。

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2026/2/7

aot使用經驗總結

從項目創建伊始,就應養成良好的習慣,即只要添加了新功能或使用了較新的語法,就及時進行 aot 發布測試。

继续阅读