ClickOnce部署和WindowsInstaller部署

ClickOnce是一种部署技术,它使得创建自行更新的Windows应用程序成为可能。本文详细介绍了ClickOnce部署技术的特点,包括其如何解决应用程序更新难题、减少对共享组件的影响以及简化安全权限管理等问题。此外,还对比了ClickOnce与Windows Installer在部署方面的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ClickOnce是一种部署技术,使用该技术可创建自行更新的基于Windows的应用程序,这些应用程序可以通过最低程度的用户交互来安装和运行。ClickOnce部署克服了部署中的三个主要问题:

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

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

安全权限。WindowsInstaller部署要求管理员权限并且只允许受限制的用户安装;而ClickOnce部署允许非管理员用户安装应用程序并仅授予应用程序所需要的那些代码访问权限。

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

核心 ClickOnce 部署结构基于两个 XML 清单文件:一个应用程序清单和一个部署清单。

应用程序清单描述应用程序本身。这包括程序集、组成应用程序的依赖项和文件、所需的权限以及提供更新的位置。应用程序开发人员使用 Visual Studio 2008 中的发布向导或 Windows 软件开发工具包 (SDK) 中的清单生成工具 (Mage.exe) 来创作应用程序清单。有关更多信息,请参见如何:发布 ClickOnce 应用程序

部署清单描述应用程序的部署方式。其中包括应用程序清单的位置和客户端应运行的应用程序的版本。管理员使用 Windows SDK 中的清单生成工具 (Mage.exe) 来创作部署清单。

部署清单在创建后会被复制到部署位置。部署位置可以是 Web 服务器、网络文件共享或媒体(如 CD)。应用程序清单和所有应用程序文件也都被复制到部署清单中指定的一个部署位置。此位置可以与部署清单的部署位置相同,也可以不同。使用 Microsoft Visual Studio 2005 中的 “发布向导”时,复制操作是自动执行的。

当部署清单被部署到部署位置后,最终用户可以在网页上或文件夹中单击表示部署清单文件的图标,从而下载和安装应用程序。大多数情况下,会向最终用户提供一个简单的对话框,让用户确认安装,此后不需要进一步的用户干预,安装会继续执行且应用程序会被启动。在应用程序要求提升的权限的情况下,该对话框还会请用户在安装继续进行之前授予相应权限。

应用程序将添加到用户的“开始”菜单和“控制面板”中的“添加/删除程序”组中。与其他部署技术不同,此部署技术不会向“Program Files”文件夹、注册表和桌面添加任何内容,且安装无需任何管理员权限

当应用程序开发人员创建更新版本的应用程序时,开发人员也会生成新的应用程序清单,并将文件复制到一个部署位置 -- 通常是原始应用程序部署文件夹的同级文件夹。管理员会更新部署清单,使之指向新版本的应用程序所在的位置。

除了部署位置外,部署清单还包含一个应用程序在其中检查有无已更新版本的更新位置(网页或网络文件共享)。ClickOnce“Publish”属性用来指定应用程序应该检查是否存在更新的时间与频率。更新行为可以在部署清单中指定,也可以通过 ClickOnce API 在应用程序的用户界面中以用户选项的形式提供。此外,“Publish”属性还可以用于将更新设置为强制性的,或是用于将应用程序回滚到较早版本。有关更多信息,请参见选择 ClickOnce 更新策略

下表将 ClickOnce 部署的功能与 Windows Installer 部署的功能进行了比较:

功能

ClickOnce

Windows Installer

自动更新1

安装后回滚2

从 Web 更新

不影响共享组件或其他应用程序

授予的安全权限

仅授予应用程序所必需的权限(更安全)

默认授予“完全信任”权限(不够安全)

要求的安全权限

Internet 或 Intranet 区域(为 CD-ROM 安装提供完全信任)

管理员

应用程序和部署清单签名

安装时用户界面

单次提示

多部分向导

即需安装程序集

安装共享文件

安装驱动程序

是(自定义操作)

安装到全局程序集缓存

为多个用户安装

“开始”菜单添加应用程序

向“启动”组添加应用程序

“收藏夹”菜单添加应用程序

注册文件类型

安装时注册表访问3

受限

二进制文件修补

应用程序安装位置

ClickOnce 应用程序缓存

“Program Files”文件夹

说明

1. 对于 Windows Installer,必须在应用程序代码中实现编程方式的更新。

2. 对于 ClickOnce,可在“添加/删除程序”中实现回滚。

3. ClickOnce 部署只有使用“完全信任”权限才能访问 HKEY_LOCAL_MACHINE (HKLM)。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值