.Windows Vista 抢鲜(适用于开发人员)

回溯到 MS-DOS 时代,应用程序的部署是通过将一些文件复制到计算机来实现的。然而,随着应用程序越来越复杂,这项任务迅速地变得愈加困难起来。安装新软件时,需要接触到 OS 的许多部分:目录本身、可能共享的组件以及需要创建的用户设置。以 .NET Framework 1.0 中的“无接触式”部署为起点,Microsoft 已经在应用程序安装方面取得了长足的进步。

本文探讨如何通过 ClickOnce 中的改进功能和 Windows Installer (MSI) 在不影响其他现有安装的情况下,更加轻松安全地部署和更新应用程序。

ClickOnce

Microsoft 随 .NET Framework 2.0 和 Visual Studio 2005 引入了 ClickOnce,以其作为“无接触式”部署的继承者。ClickOnce 旨在简化客户端托管代码应用程序,使之与部署 Web 应用程序一样轻松。这些应用程序包括使用 Windows Forms 或是在先前 Windows 代号为“Longhorn”的 Windows Vista™ 和先前代号为“Avalon”的 Windows Presentation Foundation 上构建的应用程序。使用 ClickOnce,可以通过 Web 或者文件共享,将应用程序部署到客户端并进行更新。
通过 ClickOnce,用户可以:

  • 在安装期间轻松部署并确保安全性,包括适当的应用程序签名,确保正确的安装和安全性。

  • 减少对用户计算机的影响。ClickOnce 部署既不依赖于系统的共享组件,也不进行更改,从而避免新的应用程序或升级影响运行中系统的稳定性。

  • 轻松获取升级内容。可将通过 ClickOnce 部署的应用程序构造为,通过调用 System.Deployment 在安装服务器上自动检查新版本。

Windows Vista™ 以多种方式扩展 ClickOnce 功能的 .NET Framework 2.0 集,包括安装时在仍使用自动部署和更新的情况下,执行某些较常用的 MSI 部署操作。此外,Windows Vista™ 中的执行上下文是截然不同的,它更加可靠,应用程序可在浏览器中被托管或者外部运行。

创建 ClickOnce 软件包

Visual Studio 2005 简化了 ClickOnce 安装软件包的构建。通过项目属性(请参见图 1)可将应用程序及其依赖关系发布到文件共享位置或者 Web 站点。

.

图 1:设置 ClickOnce 的发布选项

应用程序发布后,用户可导航到文件共享位置,也可通过电子邮件获得位置。用户只需单击 program.application 链接。此链接是一个清单文件,其中包含应用程序所需的程序集、正确版本及其他信息。ClickOnce 技术既能确保所有依赖关系都存在,又能确保应用程序的正确版本能在客户端计算机上使用。应用程序随后会照常执行。

尽管 ClickOnce 不能被用于所有类型的应用程序或所有情况,但它可以提供非常好的应用程序部署和更新方法。轻松更新应用程序的优点在于,可以迅速部署 Web 应用程序,并且不会影响桌面 Windows 应用程序内容丰富的交互。

ClickOnce 的安全性

ClickOnce 包含许多安全措施,用以减少恶意应用程序带来危害的可能性。例如,使用 ClickOnce 技术部署的应用程序在“沙箱”中以基于安全区域的一组有限权限运行。在本地计算机上访问资源时,此区域会影响应用程序的功能。

此外,开发人员可以使用 Authenticode 证书签署 ClickOnce 清单。然后此信息会显示给用户,指示应用程序来自受信任的源。开发人员也可以将特定的一组安全策略与应用程序相关联,以设置适当的权限。

Windows Installer

Microsoft 也对 Windows Installer (MSI) 技术(Windows Vista™ 的标准 Microsoft 安装解决方案)进行了改进。具体来说,MSI 与 Windows Vista™ User Account Protection(UAP,以前称为“最低权限用户帐户”或 LUA)及 Windows Vista™ Restart Manager 集成在一起。

对于以前版本的 Windows,用户通常必须具有计算机的管理员权限才能安装新的软件版本。在许多情况下,这是因为安装时需要访问注册表的本地计算机单元 (HKLM),或者访问 Windows 或 System32 目录。这就意味着许多用户仅使用管理员帐户登录。如果用户继续作为管理员登录,这可能会导致安全问题。其他恶意应用程序可能会访问这些区域。

与 UAP 的集成意味着用户不必作为管理员登录就能安装应用程序。如果安装需要额外的权限,Windows Vista™ 会向用户呈现一个选项,暂时提升他们的权限进行安装。请参阅“An Overview of New Windows Vista™ Security Features for Developers”(英文)。

与 Restart Manager 集成

正确配置的安装程序不会强制用户重新启动计算机需要的服务,应用程序会根据需要重新启动。Restart Manager 可处理与其他资源管理器、运行程序和打开文件的交互,以根据需要动态释放并重新访问服务或应用程序。请参阅“Overview of Application Reliability Features for Developers in Windows Vista™”(英文)。

posted @ 2008-04-17 17:59  齐.net  阅读(256)  评论(0编辑  收藏  举报