部署 WPF 应用程序 (WPF)

更新:2007 年 11 月

生成 Windows Presentation Foundation (WPF) 应用程序后,需要部署它们。Windows 和 .NET Framework 包含若干部署技术,包括:

  • XCopy 部署。

  • Microsoft Windows Installer.

  • ClickOnce 部署。

  • Windows 远程桌面连接 (RDC).

用于部署 WPF 应用程序的部署技术取决于应用程序类型。在 WPF 中,有三种应用程序类型:

  • 独立应用程序。

  • XAML 浏览器应用程序 (XBAP).

  • 浏览器承载的可扩展应用程序标记语言 (XAML) 页。

本主题简要概述了每个部署技术,以及它们如何用于满足每个 WPF 应用程序类型的部署要求。

本主题包括下列各节。

  • 部署技术
  • 部署 WPF 应用程序
  • 安装 .NET Framework 3.0
  • 相关主题

部署技术

XCopy 部署

XCopy 部署指使用 XCopy 命令行程序将文件从一个位置复制到另一个位置。在下列情况下,适合使用 XCopy 部署:

  • 应用程序是独立的,无需更新客户端即可运行。

  • 应用程序文件必须从一个位置移动到另一个位置,例如从生成位置(本地磁盘、UNC 文件共享等)移动到发布位置(网站、UNC 文件共享等)。

  • 应用程序不需要 shell 集成(“开始”菜单快捷方式、桌面图标等)。

XCopy 适用于简单的部署情况,当要求更复杂的部署功能时它就无法满足要求了。特别是,使用 XCopy 通常会增加为了以可靠方式管理部署而创建、执行和维护脚本方面的系统开销。而且,XCopy 不支持版本管理、卸载或回滚。

有关 XCopy 的更多信息,请参见如何:使用 XCopy 进行部署

Microsoft Windows Installer

Windows Installer 允许应用程序打包为独立的可执行程序,它们可以容易地分发到客户端并运行。而且,Windows Installer 随 Windows 安装,从而能与桌面、“开始”菜单和“添加/删除程序”控制面板集成。

Windows Installer 简化了应用程序的安装和卸载,但是从版本管理的角度看,它无法提供功能来确保安装的应用程序是最新的。

有关 Windows Installer 的更多信息,请参见 Windows Installer 部署

ClickOnce 部署

ClickOnce 使 Web 样式的应用程序部署能用于非 Web 应用程序:应用程序发布到 Web 服务器,并从 Web 服务器启动。虽然 ClickOnce 不支持 Windows Installer 安装的应用程序所支持的整个客户端功能范围,但是它能支持其中的一部分功能,包括下列功能:

  • 与“开始”菜单和“添加/删除程序”控制面板集成(针对独立应用程序)。

  • 版本控制、回滚和卸载。

  • 联机安装模式,该模式始终从部属位置启动应用程序。

有关 ClickOnce 的更多信息,请参见 ClickOnce 部署

远程桌面连接

可以使用终端服务执行 WPF 应用程序。这要求在具有终端服务的服务器上安装 WPF 应用程序。然后,客户端可以使用 远程桌面连接 (RDC) 连接到服务器,并远程运行 WPF 应用程序。

说明:

在某些配置中,WPF 为 WPF 应用程序的 远程桌面连接 (RDC) 用户提供优化的呈现体验。有关更多信息,请参见优化性能:其他建议

部署 WPF 应用程序

WPF 应用程序的部署选项取决于应用程序的类型。从部属角度看,WPF 有三种重要的应用程序类型:仅标记 XAML 应用程序、XBAP 和独立应用程序。

部署仅标记 XAML 应用程序

仅标记 XAML 页通常发布到 Web 服务器,类似于 HTML 页,可使用 Internet Explorer 进行浏览。WPF 使用 ClickOnce 进行浏览(这对于最终用户是不可见的)。另外,仅标记 XAML 页使用 Internet 区域权限集定义的限制在部分信任安全沙盒中运行。这提供了与基于 HTML Web 应用程序等效的安全沙盒。

有关 WPF 应用程序安全的更多信息,请参见 Windows Presentation Foundation 安全性

可以使用 XCopy 或 Windows Installer 将仅标记 XAML 页安装到本地磁盘。可以使用 Internet Explorer 或 Windows 资源管理器来启动这些页。

部署 XAML 浏览器应用程序

XBAP 是已编译的应用程序,需要部署下列三个文件:

  • 应用程序名称.exe:可执行程序集应用程序文件。

  • 应用程序名称.xbap:部署清单。

  • 应用程序名称.exe.manifest: 应用程序清单。

说明:

有关部署和应用程序清单的更多信息,请参见生成 WPF 应用程序 (WPF)

当使用 MSBuild 生成 XBAP 后,会生成这些文件。与仅标记 XAML 页类似,XBAP 通常发布到 Web 服务器,可使用 Internet Explorer 浏览。

可以使用 XCopy 或 Windows Installer 将 XBAP 部署到客户端。但是,当以这种方式部署 XBAP 时,需要考虑两个注意事项:

  1. 当新版本发布时,不会自动更新 XBAP。

  2. XBAP 运行在完全信任环境中,这种行为与 Web 应用程序的部分信任安全模型不一致。

部署独立应用程序

独立应用程序是使用 ClickOnce 或 Windows Installer 部署的。不论是用哪种方式,独立应用程序都需要以完全信任的方式运行。完全信任会自动授予给使用 Windows Installer 部署的独立应用程序。完全信任不会自动授予给使用 ClickOnce 部署的独立应用程序。ClickOnce 会显示一个安全警告对话框,用户必须接受才能安装独立应用程序。如果用户接受,则独立应用程序会安装,并被授予完全信任。如果用户不接受,则不会安装独立应用程序。

安装 .NET Framework 3.0

必须在客户端上安装 Microsoft .NET Framework 才能运行 WPF 应用程序。当浏览 WPF 浏览器承载的应用程序时,Internet Explorer 7 会自动检测客户端是否安装了 .NET Framework。如果没有安装,Internet Explorer 7 会提示用户安装。

为了检测是否安装了 .NET Framework,Internet Explorer 7 包含一个引导应用程序,它注册为内容文件的回退多用途 Internet 邮件扩展 (MIME) 处理程序,具有以下扩展名:.xaml、.xps、.xbap、和 .application。当浏览到这些文件类型时,如果客户端上没有安装 .NET Framework,则引导应用程序会请求安装它的权限。如果没有提供权限,就不会安装 .NET Framework 或应用程序。

如果授予了权限,Internet Explorer 7 会使用 Microsoft 后台智能传输服务 (BITS) 下载并安装 .NET Framework。成功安装 .NET Framework 后,会在新浏览器窗口中启动原始请求的文件。

在已安装 Internet Explorer 7 的 Windows Vista、Microsoft Windows XP Service Pack 2 (SP2) 和 Microsoft Windows Server 2003 (SP1) 客户端上提供了 .NET Framework 自动检测。

请参见

概念

生成 WPF 应用程序 (WPF)

Windows Presentation Foundation 安全性