安装和更新

Adobe AIR 1.0 和更高版本

AIR 应用程序通过具有 air 扩展名的 AIR 安装程序文件分发,或者通过具有本机平台的文件格式和扩展名的本机安装程序分发。例如,Windows 的本机安装程序格式是 EXE 文件,对于 Android,则本机格式是 APK 文件。

当安装 Adobe AIR 后,打开 AIR 安装程序文件时,AIR 运行时会管理安装进程。当使用本机安装程序时,操作系统管理安装进程。

注: 开发人员可以在使用 AIR 文件格式时,指定版本、应用程序名称和发行商来源,但初始应用程序安装工作流本身无法修改。此限制对用户非常有利,因为所有 AIR 应用程序共享由运行时管理的安全、简单且一致的安装过程。如果有必要对应用程序进行自定义,则可以在首次执行应用程序时进行自定义。

运行时安装位置

使用 AIR 文件格式的 AIR 应用程序首先要求在用户的计算机上安装运行时,就像 SWF 文件首先要求安装 Flash Player 浏览器插件一样。

运行时将安装到桌面计算机上的以下位置:

  • Mac OS: /Library/Frameworks/

  • Windows: C:\Program Files\Common Files\Adobe AIR

  • Linux: /opt/Adobe AIR/

在 Mac OS 中,若要安装某一应用程序的更新版本,用户必须具有足够的系统权限才能将新版本安装到应用程序目录中。在 Windows 和 Linux 中,用户必须具有管理权限。

注: 在 iOS 上,不单独安装 AIR 运行时;每个 AIR 应用程序都是自包含应用程序。

可以通过两种方式安装运行时:使用无缝安装功能(直接从 Web 浏览器安装)或通过手动安装。打包成本机安装程序的 AIR 应用程序还可以安装 AIR 运行时,作为其正常应用程序安装流程的一部分。(以此方式分发 AIR 运行时需要与 Adobe 签订再分发协议。)

无缝安装(运行时和应用程序)

借助无缝安装功能,开发人员可以让没有 Adobe AIR 安装经验的用户体验简单化的安装过程。通过无缝安装方法,开发人员可以创建用于提供应用程序安装的 SWF 文件。用户单击该 SWF 文件安装应用程序时,该 SWF 文件将尝试检测运行时。如果检测不到运行时,运行时会自行安装并且会立即激活,同时开始安装开发人员的应用程序。

手动安装

用户也可以在打开 AIR 文件之前手动下载并安装运行时。开发人员随后可以通过不同的方式(例如通过电子邮件或网站上的 HTML 链接)分发 AIR 文件。打开 AIR 文件后,运行时便开始处理应用程序安装过程。

应用程序安装流程

AIR 安全模型允许用户决定是否要安装 AIR 应用程序。AIR 安装体验在本机应用程序安装技术的基础上提供了以下几个方面的改进,使用户可以更容易地做出信任安装的决定:

  • 即使通过 Web 浏览器中的链接安装 AIR 应用程序,运行时也会对所有操作系统提供一致的安装体验。大多数本机应用程序安装体验根据浏览器或其他应用程序提供安全信息(如果提供了安全信息)。

  • AIR 应用程序安装体验可以确定应用程序的源以及有关应用程序可用权限的信息(如果用户允许继续安装)。

  • 运行时会管理 AIR 应用程序的安装过程。AIR 应用程序无法控制运行时使用的安装过程。

通常,用户不应安装来自其不信任源或无法验证源的任何桌面应用程序。与其他可安装应用程序一样,对本机应用程序执行的安全验证也适用于 AIR 应用程序。

应用程序安装目标

可以选择以下两种方式之一设置安装目录:

  1. 用户在安装过程中自定义目标。应用程序将安装到用户指定的任意位置。

  2. 如果用户未更改安装目标,则应用程序将安装到运行时确定的默认路径下:

    • Mac OS: ~/Applications/

    • Windows XP 及更低版本: C:\Program Files\

    • Windows Vista: ~/Apps/

    • Linux:/opt/

    如果开发人员在应用程序描述符文件中指定了 installFolder 设置,则应用程序将安装到此目录的子路径下。

AIR 文件系统

AIR 应用程序的安装过程会将开发人员在 AIR 安装程序文件中包括的所有文件复制到用户的本地计算机上。安装的应用程序由以下内容组成:

  • Windows:包含 AIR 安装程序文件中的所有文件的目录。在安装 AIR 应用程序的过程中,运行时还会创建一个 exe 文件。

  • Linux:包含 AIR 安装程序文件中所含所有文件的目录。 在安装 AIR 应用程序的过程中,运行时还会创建一个 bin 文件。

  • Mac OS:包含 AIR 安装程序文件的所有内容的 app 文件。可以使用 Finder 中的“显示包内容”选项检查该文件。运行时会在 AIR 应用程序的安装过程中创建该 app 文件。

AIR 应用程序的运行方式如下:

  • Windows:运行安装文件夹中的 .exe 文件或对应于此文件的快捷方式(如“开始”菜单或桌面上的快捷方式)。

  • Linux:启动安装文件夹中的 .bin 文件、从“应用程序”菜单中选择该应用程序,或者从别名或桌面快捷方式运行。

  • Mac OS:运行 .app 文件或指向该文件的别名。

应用程序文件系统还包括与应用程序功能相关的子目录。例如,写入加密本地存储的信息保存到以应用程序的应用程序标识符命名的目录的子目录中。

AIR 应用程序存储

AIR 应用程序具有写入用户硬盘驱动器上的任意位置的权限;但是,鼓励开发人员使用 app-storage:/ 路径作为与其应用程序相关的本地存储。从应用程序写入 app-storage:/ 的文件位于标准位置中,具体取决于用户的操作系统:

  • 在 Mac OS 上:应用程序的存储目录随 AIR 版本不同而不同:

    • AIR 3.2 和早期版本 - <appData>/<appId>/Local Store/ ,其中 <appData> 表示用户的“首选参数文件夹”,通常为: /Users/<user>/Library/Preferences

    • AIR 3.3 和更高版本 - <path>/Library/Application Support/<appID>/Local Store ,其中 <path> /Users/<user>/Library/Containers/<bundle-id>/Data (沙箱环境)或 /Users/<user> (在沙箱环境外运行时)

  • 在 Windows 中,应用程序的存储目录为 <appData>\<appId>\Local Store\ ,其中 <appData> 为用户的 CSIDL_APPDATA“特殊文件夹”,通常为 C:\Documents and Settings\<user>\Application Data

  • 在 Linux 中为 <appData>/<appID>/Local Store/ ,其中 <appData> /home/<user>/.appdata

可以通过 air.File.applicationStorageDirectory 属性访问应用程序存储目录。可以使用 File 类的 resolvePath() 方法访问目录中的内容。有关详细信息,请参阅 使用文件系统

更新 Adobe AIR

如果用户安装的 AIR 应用程序需要运行时的更新版本,则运行时会自动安装所需的运行时更新。

若要更新运行时,用户必须具有计算机的管理权限。

更新 AIR 应用程序

开发和部署软件更新是本机代码应用程序面临的最大安全挑战之一。AIR API 提供了一种改进此问题的机制:可以在启动时调用 Updater.update() 方法来检查 AIR 文件的远程位置。如果存在适当的更新,则会下载并安装 AIR 文件,然后重新启动该应用程序。开发人员可以使用此类提供新功能和响应潜在安全漏洞。

Updater 类仅用于更新作为 AIR 文件分发的应用程序。作为本机应用程序分发的应用程序必须使用本机操作系统的更新组件(如果有)。

注: 开发人员可以通过设置应用程序描述符文件的 versionNumber 属性指定应用程序的版本。

卸载 AIR 应用程序

删除 AIR 应用程序的同时也将删除应用程序目录中的所有文件。然而,它不删除应用程序可能写入应用程序目录外的所有文件。删除 AIR 应用程序不会撤消 AIR 应用程序对该应用程序目录外部的文件所做的更改。

针对管理员的 Windows 注册表设置

在 Windows 中,管理员可以通过配置计算机来阻止(或允许)安装 AIR 应用程序和更新运行时。这些设置包含在 Windows 注册表的 HKLM\Software\Policies\Adobe\AIR 项中。这些设置包括以下内容:

注册表设置

说明

AppInstallDisabled

指定是否允许安装和卸载 AIR 应用程序。设置为 0 表示“允许”,设置为 1 表示“禁止”。

UntrustedAppInstallDisabled

指定允许安装不受信任的 AIR 应用程序(没有可信证书的应用程序)。设置为 0 表示“允许”,设置为 1 表示“禁止”。

UpdateDisabled

指定是否允许更新运行时,该操作可以作为后台任务执行,也可以作为显式安装的一部分执行。设置为 0 表示“允许”,设置为 1 表示“禁止”。