<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>
ClickOnce 是 Visual Studio 2005 中包含的全新的 Windows 窗体部署技术。该技术使用智能客户端简化 Web 应用程序的安装和升级。自 .NET Framework 的第一个版本以来,Windows 窗体应用程序部署就一直可以通过 HTTP 进行,并且自那时起就一直处于发展之中。ClickOnce 是一种部署技术,使用该技术可创建自行更新的基于 Windows 的应用程序,这些应用程序可以通过最低程度的用户交互来安装和运行。ClickOnce 部署克服了部署中所固有的三个主要问题:
-
更新应用程序的困难。 使用 Microsoft Windows Installer 部署,每次应用程序更新,用户都必须重新安装整个应用程序;使用 ClickOnce 部署,则可以自动提供更新。只有更改过的应用程序部分才会被下载,然后从新的并行文件夹重新安装完整的、更新后的应用程序。
-
对用户的计算机的影响。 使用 Windows Installer 部署时,应用程序通常依赖于共享组件,这便有可能发生版本冲突;而使用 ClickOnce 部署时,每个应用程序都是独立的,不会干扰其他应用程序。
-
安全权限。 Windows Installer 部署要求管理员权限并且只允许受限制的用户安装;而 ClickOnce 部署允许非管理用户安装应用程序并仅授予应用程序所需要的那些代码访问安全权限。
过去,这些问题有时会使开发人员决定创建 Web 应用程序而不是基于 Windows 的应用程序,为便于安装而牺牲了 Windows 窗体丰富的用户界面和响应性。对于使用 ClickOnce 部署的应用程序,您可以集这两种技术的优势于一身。
什么是 ClickOnce 应用程序?
简单说来,ClickOnce 应用程序就是任何使用 ClickOnce 技术发布的 Windows 窗体或控制台应用程序。可以采用三种不同的方法发布 ClickOnce 应用程序:从网页发布、从网络文件共享发布或是从媒体(如 CD-ROM)发布。ClickOnce 应用程序既可以安装在最终用户的计算机上并在本地运行(即使当计算机脱机时也可以运行),也可以仅以联机模式运行,而不在最终用户的计算机上永久安装任何内容。
ClickOnce 和 Windows Installer 比较表
下表将 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)。
ClickOnce 可以提供自动应用程序更新。ClickOnce 应用程序会定期读取其部署清单文件,以查看是否有可用的应用程序更新。如果有,则会下载并运行应用程序的新版本。为提高效率,仅下载那些已更改的文件。
设计 ClickOnce 应用程序时,需要确定应用程序将使用何种策略来检查可用的更新。有三种基本策略可以使用:在应用程序启动时检查更新、在应用程序启动后检查更新(在后台线程中运行)或是提供进行更新的用户界面。此外,还可以确定应用程序检查更新的时间间隔,并且可以强制必须执行更新。
在应用程序启动后检查更新
如果使用该默认策略,则应用程序会在运行期间尝试在后台查找并读取部署清单文件。如果某个更新可用,则当用户下一次运行应用程序时,会提示用户下载并安装该更新。
此策略最适用于低带宽的网络连接或可能需要长时间下载的较大应用程序。
若要启用此更新策略,请在“应用程序更新”对话框的“选择应用程序何时应该检查更新”部分中单击“在应用程序启动后”。
在应用程序启动时检查更新
如果使用此策略,则每当用户启动应用程序时,应用程序都会尝试查找并读取部署清单文件。如果某个更新可用,则会下载并启动该更新;否则,会启动现有版本的应用程序。
此策略最适用于高带宽的网络连接;在低带宽连接上启动应用程序时的长时间延迟可能令人无法接受。
若要启用此更新策略,请在“应用程序更新”对话框的“选择应用程序何时应该检查更新”部分中单击“在应用程序启动前”。
强制执行更新
在有些情况下,您可能需要要求用户运行更新版本的应用程序。例如,您可能对诸如 Web 服务等外部资源进行了某种更改,而这种更改会使得较早版本的应用程序不能正常工作。在这种情况下,您需要将更新标记为“必需”,并阻止用户运行较早的版本。
指定更新时间间隔
还可以指定应用程序检查更新的频率。例如,您可能希望在应用程序每次运行时都检查更新,或是一周检查一次或一个月检查一次。如果在指定时间不存在网络连接,则更新检查会在应用程序下一次运行时执行。
若要指定更新时间间隔,请在“应用程序更新”对话框中设置“指定应用程序检查更新的频率”属性。
提供进行更新的用户界面
如果使用此策略,应用程序开发人员会提供一个用户界面,用户可通过该用户界面选择应用程序检查更新的时间和频率。例如,可以提供一个“Check for Updates Now”(立即检查更新)菜单项,或是一个提供有不同更新时间间隔选项的“Update Settings”(更新设置)对话框。ClickOnce 部署 API 提供一个框架,用于对您自己的更新用户界面进行编程。有关更多信息,请参见 System.Deployment.Application 命名空间。
如果应用程序使用部署 API 控制它自己的更新逻辑,则应按下面在“阻止更新检查”中介绍的那样阻止更新检查。
此策略最适用于您需要为不同用户提供不同更新策略的情况。
阻止更新检查
还可以阻止应用程序检查更新。例如,您有一个永不更新的简单应用程序,但您希望利用 ClickOnce 部署提供的安装便利。
如果应用程序使用部署 API 执行它自己的更新,也应阻止更新检查;请参见上面的“提供进行更新的用户界面”。
更多详情请查看http://msdn2.microsoft.com/zh-cn/library/t71a733d(VS.80).aspx
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1844080
分享到:
相关推荐
ClickOnce部署技术是微软提供的一种用于Windows应用程序的便捷部署解决方案,它极大地简化了应用程序的安装和更新流程,使得用户可以像浏览网页一样轻松地安装和升级应用程序。以下是关于ClickOnce部署的详细知识: ...
ClickOnce部署技术是.NET框架提供的一种应用程序发布和更新机制,旨在简化桌面应用的安装和升级流程。本教程将深入探讨ClickOnce部署的核心概念、工作原理以及如何实施。 1. **ClickOnce部署概述**: ClickOnce是...
使用ClickOnce部署应用程序的流程包括: 1. **配置发布设置**:在Visual Studio中,开发者可以配置发布选项,如发布位置、更新频率等。 2. **生成发布文件**:Visual Studio会生成必要的部署文件,包括应用程序清单...
当你有新的证书时,可以使用这个工具将它导入到本地计算机的个人证书存储中,以便在ClickOnce部署过程中使用。运行该工具时,需要提供PFX文件的路径、密码以及导入选项。 `RenewCert.rar` 是一个压缩文件,可能包含...
在.NET Framework环境下,Visual Studio(如VS2015)提供了集成的ClickOnce部署支持。然而,当你的项目中包含特定的库,如CefSharp,一个基于Chromium的.NET Web浏览器控件,ClickOnce打包可能会遇到一些挑战。 Cef...
在Visual Studio中,开发者可以轻松地为WinForm项目启用ClickOnce部署,设置更新策略,并发布应用程序到指定的服务器位置。 总之,ClickOnce技术为Windows桌面应用程序提供了便捷的部署和更新方案,使得C/S模式的...
这个安装程序可能会包含ClickOnce部署的链接,或者直接包含应用程序的各个部分,以便在没有网络连接的环境中进行安装。 五、测试与分发 1. 测试发布的ClickOnce应用程序,确保所有功能正常且能够正确更新。 2. ...
通过ClickOnce部署的应用程序可以自动检查更新,并且在有新版本时进行无缝升级。 #### 二、ClickOnce创建桌面快捷图标的方法 本文主要介绍了如何使用C#中的ClickOnce技术来创建桌面快捷图标,以便于用户能够方便地...
4. **ClickOnce部署**:这是一种微软提供的快速部署方案,允许用户只需点击一次链接即可下载和安装应用程序。ClickOnce会自动处理更新,并提供安全性和版本控制。 5. **部署策略**:包括网络共享、HTTP服务器、CD/...
在WinForm程序中实现升级功能,可以借助各种库或工具,例如ClickOnce部署、WiX工具集或者自定义的更新机制。ClickOnce是一种微软提供的便捷部署解决方案,它可以轻松实现自动更新,但可能在某些高级需求上有所限制。...
最后,考虑到应用程序的部署和更新,ClickOnce技术提供了便捷的发布和更新机制,使得用户只需点击一次即可安装和升级应用程序。 总的来说,通过学习和实践.NET开发Windows应用程序,开发者可以掌握一系列关键技能,...
2. **Mage工具**: Mage可以创建新的部署和应用程序清单,也可以编辑现有清单,同时支持添加数字签名,是ClickOnce部署过程中的重要工具。 3. **应用程序配置**:通过调整配置文件(如app.config),可以在不重新...
7. **发行与更新**:考虑如何提供更新和升级机制,例如使用ClickOnce部署,它可以自动检测并安装应用程序的更新。 最后,压缩包中的"WinForms应用程序打包与部署.exe"可能是一个自解压程序,它包含了整个安装过程,...
在C# WinForm应用程序开发中,程序升级是一个重要的环节,它确保用户能够及时获取到软件的最新功能和修复。本文将深入探讨C# WinForm程序的升级机制,以及如何实现这一过程。 首先,理解程序升级的基本流程至关重要...
在.NET WinForm应用程序开发中,实现自动升级功能是一项重要的任务,它能让用户无需手动下载安装新的版本,系统会自动检测并完成更新。本项目提供的代码示例深入展示了自动升级的具体实现,同时也涵盖了升级包自身的...
通过这些示例代码,学习者可以了解如何在实际项目中实现ClickOnce部署,包括设置项目属性、编写自定义更新逻辑、处理更新错误等。此外,还可以学习到如何调试ClickOnce应用程序,解决部署过程中可能出现的问题。 在...