快速创建软件安装包-ClickOnce

article/2025/10/7 0:57:33

大家好,我是沙漠尽头的狼。

.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开发应用。


http://chatgpt.dhexx.cn/article/xnTY5YUC.shtml

相关文章

视频教程-SharePoint 搜索教程-其他

SharePoint 搜索教程 大家好,我是霖雨,从2010年开始致力于SharePoint相关的技术研究,精通SharePoint环境搭建、实施、开发、运维、排错等相关技术,从2014年至今连续获评微软有价值讲师SharePoint方向MVP,在CSDN博客发表…

Office 365 轻松上手指南 - SharePoint Online (五)

2.7.2.2. 验证差旅报销工作流经验 场景一:部门主管拒绝申请 步骤1 用员工帐户(demomicrosoft.com)登录Office 365,然后依次点击“SharePoint”—“工作组网站”—“差旅报销”“新建项目”,如图: 步骤2 将…

SharePoint 2016 图文安装教程

安装完毕SQL Server,就可以开始安装SharePoint 2016 准备工具了,打开镜像文件,点击准备工具的可执行文件,如下图: 准备工具的向导,如下图: 所有准备工具,需要安装这么一系列软件&…

SharePoint Online 列表modern UI手把手教程如何使用及问题

目录 快速上手 目前问题 快速上手 默认界面 默认的Modern UI在双击单个条目后会自动出现在右边, 自定义界面(Power Apps) 在列表上方点击PowerApps会出现下拉菜单,点击自定义表单即可进入PowerApps界面自定义 目前问题 HTML…

Collabion Charts for SharePoint教程一:添加Web Parts

2019独角兽企业重金招聘Python工程师标准>>> 安装Collabion Charts for SharePoint之后,我们需要创建Web Parts启动Collabion Charts wizard并创建图表。下面我们就使用Collabion Charts for SharePoint添加Web Part。 添加Collabion Charts for SharePo…

SharePoint 2016 开发教程-杨建宇-专题视频课程

SharePoint 2016 开发教程—4213人已学习 课程介绍 此系列课程以SharePoint 2016为基础,介绍各种开发模型和对象的使用,通过一个个例子介绍如何使用vs深入开发SharePoint项目,和开发过程中常见的问题等。同时,这些开发模型也适…

SharePoint Framework开发基础教程

SharePoint Framework开发基础教程—170人已学习 课程介绍 SharePoint Framework是微软推出的针对SharePoint的前端开发框架,本课程将详细讲解使用SharePoint Framework (SPFx) 来开发客户端webpart,页面扩展,字段扩展,命…

SharePoint 2019 图文安装教程

前言 SharePoint 2019刚刚发布,很多群友在寻找安装教程,霖雨正好也下载了进行体验,就把完整的安装过程做成图文教程,分享给大家了,有需要的人可以有个参考。 文章从创建虚拟机开始,可能有点啰嗦&#xff0c…

Rclone挂载SharePoint

简介 众所都知,rclone是一款很实用的工具,大多用来挂载OneDrive、Google Drive、Google Drive Team、Webdav等等。 翻阅网上的相关内容,似乎鲜有相关挂载SharePoint的教程,今天勿埋我心在此为读者简单介绍一下。 今天主要介绍的…

[SharePoint教程系列]安装之后的常见操作 如何打开管理中心

SharePoint 2016安装之后之常见操作 在这篇文章里,主要写几个SharePoint 2016安装好了之后可以从哪里开始入手。 很多用户,特别是刚开始接触SharePoint的用户,按照步骤安装好SharePoint 环境之后,就不知道要做什么了。 作为管理…

[SharePoint教程系列]SharePoint 2016 安装语言包

SharePoint 2016 安装语言包 SharePoint 发行的时候,是按照不同的语言版本发行的,默认只能创建这种语言的站点,而且在爬网等方面具有此语言的处理组件。如果想要创建其他语言的站点或者更好的处理其他语言的爬网,就需要安装单独的…

[SharePoint教程系列] 0.SharePoint 2016介绍

[SharePoint教程系列] 0.SharePoint 2016介绍 前言 本文将对SharePoint进行介绍。分别说明什么是SharePoint、SharePoint的功能、SharePoint的历史,并对SharePoint 2016进行简单介绍。 什么是SharePoint SharePoint是微软公司推出的团队协作和内容管理服务器软件…

[SharePoint教程系列] 1.SharePoint 2016安装

SharePoint 2016安装 标签(空格分隔): SharePoint2016 入门 安装 本章我们将介绍如何安装配置一个最小的SharePoint 2016环境。供后续学习使用。 要学习如何配置更复杂的环境。请参考后续 SharePoint进阶部分 推荐使用使用虚拟环境Hyper-V…

SharePoint 教程

SharePoint 教程 SharePoint 网站的用途 SharePoint 网站为文档、信息和想法提供了一个集中的存储和协作空间。SharePoint 网站是一种协作工具,就好像电话是一种通信工具,会议是一种决策工具一样。SharePoint 网站可帮助小组成员(无论是工作组…

无废话SharePoint入门教程五[创建SharePoint页面布局]

一、前言 文章成体系,如果有不明白的地方请查看前面的文章。 二、目录 1.创建页面布局 2.首次使用页面布局 3.修改页面布局 4.使用页面布局 5.最终效果 1.创建页面布局 (1)打开设计管理器,并点击【创建页面布局】如下图所示&#…

无废话SharePoint入门教程一[SharePoint概述]

一、前言 听说SharePoint也有一段时间了,可一直处在门外。最近被调到SharePoint实施项目小组,就随着工作一起学习了一下实施与开发。但苦于网上SharePoint入门的东西实在太少,导致自学入门很难,不知道SharePoint这东西到底能做什么。因此有了此篇文章。该文章只是基于本…

语音识别之HTK入门(十)——HTK解码工具HVite源码分析

这一节讲的内容又是语音识别系统非常重要的一环——veterbi解码,前面我们经过了配置文件,处理音频数据,处理标注文本数据、通过Baum-Welch(前向-后向)算法评估模型参数等多个环节,目的都是为了在这一步通过…

如何下载并使用HTK工具包

HTK是用来进行自动语音识别研究的工具包,它由剑桥大学工程系的机器智能实验室开发的开源软件,全称叫做The HiddenMarkov Toolkit。官方网站:http://htk.eng.cam.ac.uk 这个工具包必须安装VS后才能使用。因为它是基于C进行开发的。HTK工具包…

HTK语音识别工具包的安装和编译

今天介绍一下HTK语音识别工具包的安装和编译,希望能够帮助到更多做语音相关工作的同仁们。 介绍: HTK是用来进行自动语音识别研究的工具包,它由剑桥大学工程系的机器智能实验室开发的开源软件,全称叫做HiddenMarkov Toolkit。 官…

语音识别之HTK入门(七)——HERest训练模型之Baum-Welch算法

上一个博客为B-W算法准备了基础,也就是前向算法和后向算法以及EM模型。 现在看看到底Baum-Welch算法是如何利用上述算法及模型来更新HMM的参数的。 之前也分析过多次了,在语音识别领域HMM模型之所以这么复杂,是因为观察向量对应的隐含状态不…