首页 > 其他分享 >快速创建软件安装包-ClickOnce

快速创建软件安装包-ClickOnce

时间:2022-12-11 11:32:45浏览次数:76  
标签:WPFBlazorChat 部署 应用程序 软件 ClickOnce 安装包 NET

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

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

快速创建软件安装包-ClickOnce_C#

2.2 开始制作安装包

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

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

快速创建软件安装包-ClickOnce_应用程序_02

  1. 在弹出的界面,选择ClickOnce,点击下一步

快速创建软件安装包-ClickOnce_Windows_03

  1. 发布位置随意

快速创建软件安装包-ClickOnce_应用程序_04

  1. 选择软件安装包获取地址

快速创建软件安装包-ClickOnce_WPF_05

  1. 设置
  • 可配置程序运行时自动检测更新、软件版本号等,如下图:

快速创建软件安装包-ClickOnce_Windows_06

如上图,如果勾选【自动递增修订号】,那么每次点击发布,修订号会递增(感觉说的是废话,主要是方便版本号管理)。

  • 点击应用程序文件,可勾选哪些文件可以不用下载,如下图:

快速创建软件安装包-ClickOnce_应用程序_07

  • 选择先决条件,即选择程序的运行时,因为程序默认支持.NET 6和.NET 7,所以站长勾选了.NET 7 x64,win7 32位的同学如有需要,按需选择:

快速创建软件安装包-ClickOnce_Windows_08

  • 选项配置

配置软件安装包信息,其中比较重要的是发布者名称和套件名称,决定软件程序释放位置:

快速创建软件安装包-ClickOnce_WPF_09

快速创建软件安装包-ClickOnce_Windows_10

部署文件配置,其中Publish.html配置了安装包下载页面

快速创建软件安装包-ClickOnce_安装包_11

  1. 签名清单

未设置,直接下一步:

快速创建软件安装包-ClickOnce_Windows_12

  1. 程序发布配置

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

快速创建软件安装包-ClickOnce_WPF_13

  1. 点击发布

最后一个操作,点击发布

快速创建软件安装包-ClickOnce_Windows_14

发布完成,点击【发布位置】路径:

快速创建软件安装包-ClickOnce_C#_15

2.3 上传

上面制作了软件安装包,还差一个步骤,就是把安装包丢网站上去,这个就比较简单了,前提是网站已经部署了哈:

快速创建软件安装包-ClickOnce_C#_16

快速创建软件安装包-ClickOnce_C#_17

2.4 程序安装、运行

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

快速创建软件安装包-ClickOnce_Windows_18

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

快速创建软件安装包-ClickOnce_应用程序_19

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

下图是服务器软件安装包信息:

快速创建软件安装包-ClickOnce_C#_20

下图是安装过程截图:

快速创建软件安装包-ClickOnce_Windows_21

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

快速创建软件安装包-ClickOnce_C#_22

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

时间如流水,只能流去不流回。



标签:WPFBlazorChat,部署,应用程序,软件,ClickOnce,安装包,NET
From: https://blog.51cto.com/u_15469207/5928165

相关文章

  • iOS上架辅助软件Appuploader
    iosapp上架流程上架基本需求资料1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程)2、开发好的APP通过本篇教程,可以学习到ios证书申请和打包ipa测试上架的完整流程......
  • 企业级大数据平台智能运维好帮手——星环科技多模数据平台监控软件Aquila Insight
    AquilaInsight介绍  AquilaInsight 是星环科技推出的一款多模数据平台监控软件,为企业运维团队提供了一套统一、完整、便捷的智能化运维解决方案。通过丰富的仪表盘管......
  • apt-mark hold 阻止软件自动更新
    apt-mark hold 阻止软件自动更新变化是Kubernetes生命周期不可或缺的一部分:随着Kubernetes的成长和成熟,功能可能会被弃用、删除或替换为项目健康的改进。对于Kuber......
  • 《基于Csharp+OpenCV图像处理实战》 关于软件部署的7个步骤
    一是持续部署的方法;二是集中解决部署问题方法。操作系统最好使用主流系统,这样首先就解决了系列问题。我一般是建一个虚拟机来进行测试。1、首先是设置为Release模式2......
  • 虚拟机软件安装及配置
    下面正式来安装Linux系统,安装系统前需要下载如下软件:VMwareworkstation10.0CentOS7.xx86_64安装图解如下:Vmware10.0下载路径:​​http://download3.vmware.com/softw......
  • 软件工程第三组
    说明图标项目背景经过调研,我们发现,超市、菜场的鱼类种类较为限制,有时新鲜程度也很难保证。用户在选购时,较难选择到各种品质的鱼类,并且对于从未品尝过的鱼类,在烹饪时可......
  • Opensuse zypper软件包管理器常用命令
    Zypper是OpenSUSE和企业版SUSE中软件包管理器ZYpp的命令行接口。主要用于: 1.管理仓库:zypper可用命令行添加、删除、启用或禁用库;(在上文Linux源基本介绍及更换国内源中......
  • jupyter安装包
    最前面加个英文叹号即可,如:!pipinstalllightgbm-ihttps://pypi.tuna.tsinghua.edu.cn/simple-i表示指定源的地址......
  • 【软件工具安装】ubuntu20.04安装matlab2017b
    前言 系统环境:ubuntu20.04,安装matlab2017b;问题按照参考博客安装之后,基本功能可以使用,不过复制粘贴等快捷键不能使用,重新设置之后还是不行;出现一些warning问题,特别是VideoRe......
  • 安装华为软件昇腾mindspore-gpu-1.9.0失败记录
    官网安装地址:https://www.mindspore.cn/install  PS:不得不说华为的软件是愈发的不好用了,这个mindspore老版本去年我是使用过的,安装也是比较方便的,搞不清这优化来优......