0

0

快速创建软件安装包-ClickOnce

雪夜

雪夜

发布时间:2025-08-29 09:09:38

|

510人浏览过

|

来源于php中文网

原创

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

今天我们将探讨如何使用ClickOnce来制作软件安装包。首先,让我们了解一下什么是ClickOnce。

  1. 什么是ClickOnce

以下段落摘自微软文档:https://www.php.cn/link/950c011d814448023c466411a35b6c62


ClickOnce 是一种部署技术,它能创建自动更新的基于 Windows 的应用程序,这些应用程序可以通过最小的用户交互来安装和运行。

ClickOnce 部署解决了部署过程中常见的三个主要问题:

  • 更新应用程序的困难:使用 Microsoft Windows Installer 部署,每次应用程序更新时,用户都需要重新安装整个应用程序;使用 ClickOnce 部署,则可以自动提供更新。只有更改的部分会被下载,然后从新的并行文件夹重新安装完整的、更新后的应用程序。

  • 对用户计算机的影响:使用 Windows Installer 部署时,应用程序通常依赖于共享组件,这可能会导致版本冲突;而使用 ClickOnce 部署时,每个应用程序都是独立的,不会干扰其他应用程序。

  • 安全权限:Windows Installer 部署需要管理员权限,并且只允许受限用户安装;而 ClickOnce 部署允许非管理员用户安装应用程序,并仅授予应用程序所需的代码访问安全权限。

过去,这些问题有时会促使开发人员选择创建 Web 应用程序而不是基于 Windows 的应用程序,以牺牲 Windows 窗体的丰富用户界面和响应性来换取便捷的安装。对于使用 ClickOnce 部署的应用程序,您可以同时享有这两种技术的优势。

  1. 使用ClickOnce创建安装包

2.1 需要服务器

首先,我们需要一个线上网站,用于托管软件更新文件。比如,在Dotnet9网站的根目录创建一个

WPFBlazorChat
的目录,那么线上托管地址将是
https://www.php.cn/link/258d7a491108e4e48af85b904cef4654/WPFBlazorChat
,目录如下:

快速创建软件安装包-ClickOnce

2.2 开始制作安装包

记住上面的线上地址,我们使用前几天介绍的

WPFBlazorChat
作为示例来制作安装包,仓库地址是:https://www.php.cn/link/1899267a7cab6c98197ea43751df1c07`。

选择

WPFBlazorChat
工程,右键点击发布:

快速创建软件安装包-ClickOnce

在弹出的界面中,选择ClickOnce,然后点击下一步:

快速创建软件安装包-ClickOnce

发布位置可以随意选择:

快速创建软件安装包-ClickOnce

选择软件安装包获取地址:

快速创建软件安装包-ClickOnce

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

快速创建软件安装包-ClickOnce

如上图所示,如果勾选了【自动递增修订号】,那么每次点击发布时,修订号会自动递增(这主要是为了方便版本号管理)。

点击应用程序文件,可以选择哪些文件不需要下载,如下图所示:

快速创建软件安装包-ClickOnce

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

快速创建软件安装包-ClickOnce

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

快速创建软件安装包-ClickOnce

快速创建软件安装包-ClickOnce

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

95Shop仿醉品商城
95Shop仿醉品商城

95Shop可以免费下载使用,是一款仿醉品商城网店系统,内置SEO优化,具有模块丰富、管理简洁直观,操作易用等特点,系统功能完整,运行速度较快,采用ASP.NET(C#)技术开发,配合SQL Serve2000数据库存储数据,运行环境为微软ASP.NET 2.0。95Shop官方网站定期开发新功能和维护升级。可以放心使用! 安装运行方法 1、下载软件压缩包; 2、将下载的软件压缩包解压缩,得到we

下载

快速创建软件安装包-ClickOnce

签名清单未设置,直接点击下一步:

快速创建软件安装包-ClickOnce

程序发布配置按情况选择,站长选择了.NET 7 64位发布,注意需要与前面选择的.NET桌面运行时版本一致:

快速创建软件安装包-ClickOnce

点击发布,最后一个操作,点击发布:

快速创建软件安装包-ClickOnce

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

快速创建软件安装包-ClickOnce

2.3 上传

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

快速创建软件安装包-ClickOnce

快速创建软件安装包-ClickOnce

2.4 程序安装、运行

地址是:https://www.php.cn/link/e6489c47ee1a4c3252b06e7ed387eb90

快速创建软件安装包-ClickOnce

如上图所示,显示了我们创建安装包时配置的软件安装包名称、版本号、发布者、需要的.NET运行时版本等。点击【安装】按钮,会下载一个

setup.exe
安装文件,这个文件很小,只有666KB,一个很吉利的数字:

快速创建软件安装包-ClickOnce

运行

setup.exe
,它会自动从上面的服务器(https://www.php.cn/link/fa517434b82355390c5cb9831685d6a0

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

快速创建软件安装包-ClickOnce

下图是安装过程的截图:

快速创建软件安装包-ClickOnce

安装包下载完成后,程序会自动运行。下面是测试程序运行界面,由WPF Blazor开发,点击查看源码:

快速创建软件安装包-ClickOnce

  1. Q&A

ClickOnce 部署的工作原理核心是基于两个 XML 清单文件:应用程序清单和部署清单。这些文件用于描述从哪里安装 ClickOnce 应用程序、如何更新这些应用程序以及何时更新它们。

更多信息请访问微软文档:https://www.php.cn/link/950c011d814448023c466411a35b6c62

本文到此结束,下篇将介绍在WPF中如何使用Blazor开发应用。

参考资料:

[1] Dotnet9: https://www.php.cn/link/258d7a491108e4e48af85b904cef4654

[2] 源码: https://www.php.cn/link/6e57a30d42233829bb65aab0262e463b

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1900

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2091

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

1064

2024.11.28

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

815

2026.01.21

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

762

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1129

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

800

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

454

2023.08.02

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

158

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 4.9万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号