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

快速创建软件安装包-ClickOnce

时间:2022-11-03 00:22:50浏览次数:72  
标签: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,目录如下:

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

标签:WPFBlazorChat,部署,应用程序,软件,ClickOnce,安装包,NET
From: https://www.cnblogs.com/Dotnet9-com/p/16853043.html

相关文章

  • 软件技术基础(2)-命令行文本计数统计程序
    软件技术基础软件技术基础第二次作业作业目标命令行文本计数统计程序姓名-学号严隽铭-20193303010321.项目简介题目:实现一个命令行文本计数统计程序。......
  • CAD安装包2023软件中文汉化版安装教程
    1.鼠标右击【CAD2023】压缩包(Win11系统需先点击“显示更多选项”)选择【解压到CAD2023】。2.打开解压后的文件夹,双击打开【CAD2023】文件夹。3.鼠标右击【Setup】选择【管......
  • 软件公司安全教育培训经验分享
    文/王不留(微信公众号:程序员生存指南) ​​公司安全教育培训​​,将在晚上7点半准时开始。 企业内部培训,通常会让人提不起兴趣,而且还是周五的晚上。这一点搞培训,参与度极低......
  • 50万的软件,为什么能卖到1000万?
    文/王不留(微信公众号:程序员生存指南) 与公司的销售高手吃饭聊天,自然会谈到营销的话题。 隔行如隔山,自己搞交付的,一直对做销售的人有所佩服,吃个饭就能搞定一单。 听他一......
  • 软件企业区域月度交付会议的改进方式
    文/王不留(微信公众号:程序员生存指南) 1.受行业影响,我们的软件产品以现场实施为主。公司壮大后,采用了总部+区域经营单元的组织模式,区域分布广,所属项目多。 为了加强总部和......
  • 软件企业研发人员能力提升方式
    文/王不留(微信公众号:程序员生存指南) 1.作为一家行业软件企业,公司目前有七大产品线,四十项主产品,以及延伸出的几十种定制化产品。其中,多款主打产品,在行业内占有率很高,是公......
  • 软件企业研发体系常见问题及解决思考
    文/王不留(微信公众号:程序员生存指南) ◎ 一个公司的运营通常可以分成四大块:售前、研发、交付、职能。 售前主要包含销售人员和咨询人员。项目型公司会以售前为主力,重点......
  • 软件技术基础随笔(2)
    软件技术基础首页-22软件基础-浙江理工大学-班级博客-博客园本次作业的目标实现一个命令行文本计数统计程序。能正确统计导入的纯英文txt文本中的字符数,单词数,句......
  • 软件技术基础学习笔记(2)——独立完成一个项目
    软件技术基础学习笔记(2)——独立完成一个项目这个作业属于哪个课程<首页-22软件基础-浙江理工大学-班级博客-博客园>这个作业的目标<在限定的期限内,完成......
  • Rhino 7中文激活版(犀牛3D建模软件)
    Rhinoceros7forMac是一款三维建模软件。最新版Rhino7增加了细分建模、Rhino.Inside.Revit、四边面重新拓扑等新功能。在此版本中,我们开启了全新的建模工作流程,并将许多......