WPF 主机 (PresentationHost.exe)

警告

XBAP 需要旧版浏览器(例如 Internet Explorer 和 Firefox)才能运行。 Windows 10 和 Windows 11 通常不支持这些较旧的浏览器版本。 由于安全风险,新式浏览器不再支持 XBAP 应用所需的技术。 不再支持启用 XBAP 的插件。

Windows Presentation Foundation (WPF) Host (PresentationHost.exe) 是使 WPF 应用程序能够托管在兼容的浏览器(包括 Microsoft Internet Explorer 6 及更高版本)中的应用程序。 默认情况下,Windows Presentation Foundation (WPF) Host 注册为浏览器托管的 WPF 内容的 shell 和 MIME 处理程序,其中包括:

  • 宽松(未编译)XAML 文件 (.xaml)。

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

对于这些类型的文件,Windows Presentation Foundation (WPF) Host 会:

  • 启动已注册的 HTML 处理程序来托管 Windows Presentation Foundation (WPF) 内容。

  • 加载所需公共语言运行时 (CLR) 和 Windows Presentation Foundation (WPF) 程序集的正确版本。

  • 确保部署区域具有适当的权限级别。

本主题介绍了可以与 PresentationHost.exe 一起使用的命令行参数。

使用情况

PresentationHost.exe [parameters] uri|filename

参数

参数 说明
filename 要激活的文件的路径。 也可以为 URI。
-debug 激活应用程序时,不要从存储中提交或运行它。 此参数仅在激活本地文件时才起作用。
-debugSecurityZoneURL <url> 与 URL 值一起使用,以指示 PresentationHost.exe 有一个应用程序应调试,就像它是从指定的 URL 部署的一样。 此参数可确定部署区域和源站点。
-embedding OLE 的必需参数。 如果已指定 -event-debug 参数,则无需指定 -embedding 参数,因为该参数已在内部设置。
-event <eventname> 打开具有此名称的事件,并在 PresentationHost.exe 初始化并准备好托管 WPF 内容时向该事件发出信号。 如果打开事件时发生错误(例如该事件尚未创建),则 PresentationHost.exe 将终止。
-launchApplication <url> 从指定的 URL 启动独立的 ClickOnce 应用程序。 这将应用与 .NET 应用程序有关的 Internet Explorer 和 WinINet 安全策略。

方案

Shell 处理程序

PresentationHost.exe example.xbap

MIME 处理程序

PresentationHost.exe -embedding example.xbap

Visual Studio 调试

PresentationHost.exe -debug example.xbap

在区域中进行 Visual Studio 调试

PresentationHost.exe -debug -debugSecurityZoneURL http://www.example.com c:\folderpath\example.xbap

另请参阅