Standalone应用程序和仅限Markup的XAML应用程序之间有什么区别吗?

时间:2014-03-25 11:52:43

标签: wpf xaml silverlight-4.0 wpf-controls wpf-4.0

与WPF相关的独立应用程序和仅标记XAML应用程序之间是否有任何区别?

我正在阅读以下链接,其中我参考了这两个应用程序,但是对于部署透视,但这两者之间是否存在任何差异?

Deploying a WPF Application

1 个答案:

答案 0 :(得分:1)

官方MS文档中解释了差异,原因和方案。我认为还有很多事情要补充。

来自Deploying a WPF Application (WPF)

部署WPF应用程序

WPF应用程序的部署选项取决于应用程序的类型。从部署的角度来看,WPF有三种重要的应用程序类型:

  • 独立应用程序
  • 仅限标记的XAML应用程序
  • XAML浏览器应用程序(XBAP)

部署独立应用程序

使用ClickOnce或Windows Installer部署独立应用程序。无论哪种方式,独立应用程序都需要完全信任才能运行。对使用Windows Installer部署的独立应用程序自动授予完全信任。使用ClickOnce部署的独立应用程序不会自动获得完全信任。相反,ClickOnce会显示一个安全警告对话框,用户必须在安装独立应用程序之前接受该对话框。如果接受,则安装独立应用程序并授予完全信任。如果没有,则不安装独立应用程序。

部署仅限标记的XAML应用程序

仅标记XAML页面通常发布到Web服务器(如HTML页面),并且可以使用Internet Explorer查看。仅标记XAML页面在部分信任安全沙箱中运行,其中包含由Internet区域权限集定义的限制。这为基于HTML的Web应用程序提供了等效的安全沙箱。可以使用XCopy或Windows Installer将仅标记XAML页面安装到本地文件系统。可以使用Internet Explorer或Windows资源管理器查看这些页面。

部署XAML浏览器应用程序

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

  • ApplicationName.exe:可执行程序集应用程序文件
  • ApplicationName.xbap:部署清单
  • ApplicationName.exe.manifest:应用程序清单

构建XBAP时会生成这些文件。与仅标记的XAML页面一样,XBAP通常发布到Web服务器并使用Internet Explorer进行查看。

可以使用任何部署技术将XBAP部署到客户端。但是,建议使用ClickOnce,因为它提供以下功能:

  • 发布新版本时自动更新
  • 以完全信任方式运行的XBAP的提升权限

默认情况下,ClickOnce发布扩展名为.deploy的应用程序文件。这可能有问题,但可以禁用。有关更多信息,请参阅ClickOnce部署中的服务器和客户端配置问题。