65.9K
CodeProject 正在变化。 阅读更多。
Home

"Avalon"应用程序类型(按部署)

starIconstarIconemptyStarIconemptyStarIconemptyStarIcon

2.00/5 (6投票s)

2005年8月23日

CPOL

4分钟阅读

viewsIcon

45630

在 Vista 世界中,应用程序类型选择基于安全要求和部署方法,而不是用户界面要求。本文描述了 Vista 操作系统支持的 Avalon 子系统所支持的各种应用程序类型。

引言

在 Vista 世界中,应用程序类型选择基于安全要求和部署方法,而不是用户界面要求。从安全和部署的角度来看,Avalon 中有两种类型的应用程序。

  1. Express 应用程序:此应用程序从 Web 服务器部署,只能在安全权限受限的 Web 浏览器中执行。此应用程序类似于典型的 Web 应用程序,但可以通过利用 Avalon 元素来实现丰富的用户界面。
  2. 已安装应用程序:此应用程序可以使用 ClickOnce 技术从 Web 服务器部署,或使用 Windows Installer 进行安装。与典型的桌面应用程序一样,它托管在其自己的窗口中,不能在 Web 浏览器中执行。

Express 或“Web”应用程序

在 Vista 之前的世界里,在开始应用程序开发之前,应用程序设计者通常需要根据用户界面和部署模型来决定应用程序的类型。如果应用程序需要复杂的 UI,设计者通常会选择 Windows 应用程序;如果需要易于部署,通常会选择 Web 应用程序。

随着 Vista 的推出,这种决策将很少需要,因为 Vista 支持 Express 应用程序类型,该类型支持复杂的 UI,但仍支持易于部署。

用户界面

在用户界面和用户体验方面,Express 应用程序的起点是典型 Web 应用程序的终点。这些应用程序可以使用所有“安全”的 Windows 用户界面控件,例如 TabControl、菜单、工具栏,并可以使用高级 Windows 技术,例如 3D 图形、动画和转换。

如何创建

要创建 Express 应用程序,请在 Visual Studio.NET 2005 中选择“Express Application”项目类型。

Sample image

构建此项目后,编译器会创建三个文件。名称取决于项目,但它们具有以下扩展名:

  1. XAPP:部署清单。ClickOnce 使用此文件来部署应用程序。
  2. exe.manifest:应用程序清单。此文件包含为任何托管应用程序创建的标准应用程序元数据。
  3. EXE:应用程序的可执行代码。

用户可以通过导航到 XAPP 文件来部署 Express 应用程序,ClickOnce 将在用户计算机上下载并部署应用程序二进制文件。当用户下次导航到 XAPP 文件时,ClickOnce 会验证是否有任何应用程序更新,如果没有,则运行已下载的版本。

限制

与典型的桌面应用程序相比,它的访问权限要少得多,但用户可以通过其权限提高权限级别。不用说,Express 应用程序不能使用非托管代码或执行“不安全”的操作,例如访问注册表。甚至 WinFX API 的某些部分在这些应用程序中也无法访问,使用时会引发安全异常。

摘要

可以考虑这种托管模型,如果

  1. 应用程序不需要离线使用。
  2. 避免弹出对话框请求部署继续的权限。
  3. 为用户提供无缝的 Web 般体验,包括能够从应用程序导航到网页再返回的能力。
  4. 应用程序可以运行在 Internet 安全区域权限下,该区域仅提供对文件系统等系统资源的有限访问。
  5. 应用程序不需要任何在 Internet 区域中不允许的“Avalon”元素。

已安装应用程序

此应用程序类似于典型的桌面应用程序,它具有复杂而丰富的用户界面,并可以使用 ClickOnce 或 MSI 安装程序安装在用户计算机上。

用户界面

已安装应用程序可以使用“Avalon”子系统的所有功能。

如何创建...

要创建 Express 应用程序,请在 Visual Studio.NET 2005 中选择“Avalon Application”项目类型。构建此项目后,编译器会创建三个文件。名称取决于项目,但它们具有以下扩展名:

  1. APPLICATION:部署清单。ClickOnce 使用此文件来部署应用程序。
  2. exe.manifest:应用程序清单。此文件包含为任何托管应用程序创建的标准应用程序元数据。
  3. EXE:应用程序的可执行代码。

用户可以通过导航到 APPLICATION 文件来部署应用程序,ClickOnce 将提示用户下载并部署应用程序二进制文件到用户计算机上。另一种方法是创建 MSI 安装程序来安装应用程序、创建快捷方式并将应用程序列在“添加/删除程序”文件中。

限制

此应用程序可以执行在当前用户允许的情况下对应用程序允许的操作和访问的资源。

摘要

可以考虑这种托管模型,如果

  1. 应用程序需要对文件系统或注册表等系统资源拥有完全访问权限。
  2. 在应用程序部署之前,允许请求用户权限的对话框。
  3. 应用程序需要使用 Express 应用程序不允许的“Avalon”元素。
  4. 应用程序需要运行在独立窗口中。
  5. 能够离线使用应用程序。

在 Express 和已安装应用程序之间切换

已安装应用程序和 Express 应用程序的创建方式非常相似,它们主要区别在于项目类型的编译器设置。如果应用程序仅包含可在 Internet 安全区域中执行的代码,则可以通过更改编译器设置并重新编译项目,随时将应用程序从 Express 转换为已安装(或反之亦然)。

历史

  • 2005 年 8 月 23 日:初次发布
© . All rights reserved.