从 AIR 2 开始,可以使用 ADT 创建本机应用程序安装程序,以用于分布 AIR 应用程序。例如,您可以在 Windows 中构建一个 EXE 安装程序文件,用来分发 AIR 应用程序。您可以在 Mac OS 中构建一个 DMG 安装程序文件,用来分发 AIR 应用程序。在 AIR 2.5 和 AIR 2.6 中,您可以在 Linux 中构建一个 DEB 或 RPM 安装程序文件,用来分发 AIR 应用程序。
随本机应用程序安装程序安装的应用程序称为扩展的桌面配置文件应用程序。如果应用程序描述符文件不支持桌面扩展配置文件,则不能使用 ADT 为 AIR 应用程序打包本机安装程序。可以使用应用程序描述符文件中的
supportedProfiles
元素限制此配置文件。请参阅
设备配置文件
和
supportedProfiles
。
您可以通过两种基本方式构建 AIR 应用程序的本机安装程序版本:
要在其中使用 ADT 的操作系统必须与要生成本机安装程序文件的操作系统相同。因此,要为 Windows 创建 EXE 文件,请在 Windows 中运行 ADT。要为 Mac OS 创建 DMG 文件,请在 Mac OS 中运行 ADT。要为 Linux 创建 DEB 或 RPG 文件,请在 Linux 中通过 AIR 2.6 SDK 运行 ADT。
在创建本机安装程序以分发 AIR 应用程序时,该应用程序将获得下列功能:
但是,当将其打包成本机安装程序时,应用程序会失去 AIR 文件格式的某些优点。单个文件不能再分发到所有台式计算机。内置更新功能(和 updater 框架)无效。
用户双击本机安装程序文件时,将安装 AIR 应用程序。如果计算机中尚未安装所需的 Adobe AIR 版本,安装程序将从网络下载该版本并首先安装。如果没有获取正确的 Adobe AIR 版本的网络连接(如有必要),则安装将失败。此外,如果 Adobe AIR 2 中不支持该操作系统,则安装将失败。
注:
如果希望在已安装的应用程序中可以执行某个文件,请确保在打包应用程序时该文件在文件系统上可执行。(在 Mac 和 Linux 上,如果需要,可以使用 chmod 来设置可执行标记。)
从应用程序源文件创建一个本机安装程序
要在应用程序的源文件以外构建一个本机安装程序,请在一个命令行中使用带有以下语法的
-package
命令:
adt -package AIR_SIGNING_OPTIONS
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
app_xml
[file_or_dir | -C dir file_or_dir | -e file dir ...] ...
此语法与用于打包 AIR 文件(不包括本机安装程序)的语法类似。但存在几点差异:
-
可以将
-target native
选项添加到命令中。(如果指定
-target air
,则 ADT 生成 AIR 文件,而不是本机安装程序文件。)
-
可以将目标 DMG 或 EXE 文件指定为
installer_file
。
-
或者,您可以在 Windows 上再添加一组签名选项,如语法清单中的
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
所指示的那样。在 Windows 中,除了对 AIR 文件进行签名,还可以对 Windows 安装程序文件进行签名。使用对 AIR 文件进行签名所用相同类型的证书和签名选项语法(请参阅
ADT 代码签名选项
)。可以使用相同的证书对 AIR 文件和安装程序文件进行签名,也可以指定不同的证书。当用户从 Web 下载已签名的 Windows 安装程序文件时,Windows 将根据证书标识文件源。
有关除
-target
选项之外的其他 ADT 选项的详细信息,请参阅
AIR Developer Tool (ADT)
。
以下示例创建 DMG 文件(Mac OS 的本机安装程序文件):
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.dmg
application.xml
index.html resources
以下示例创建 EXE 文件(Windows 的本机安装程序文件):
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.exe
application.xml
index.html resources
以下示例创建 EXE 文件并对其进行签名:
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
-storetype pkcs12
-keystore myCert.pfx
myApp.exe
application.xml
index.html resources
为使用本机扩展的应用程序创建本机安装程序
您可以在源文件以外为应用程序及应用程序所需的本机扩展包构建本机安装程序。在一个命令行中采用以下语法使用
-package
命令:
adt -package AIR_SIGNING_OPTIONS
-migrate MIGRATION_SIGNING_OPTIONS
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
app_xml
-extdir extension-directory
[file_or_dir | -C dir file_or_dir | -e file dir ...] ...
此语法与用于打包本机安装程序的语法相同,它具有两个附加选项。使用
-extdir
extension-directory
选项可指定包含应用程序使用的 ANE 文件(本机扩展)的目录。当主代码签名证书与应用程序之前版本所用的证书不同时,可使用可选的
-migrate
标志和
MIGRATION_SIGNING_OPTIONS
参数对应用程序的更新版本进行迁移签名。有关更多信息,请参阅
对 AIR 应用程序的更新版本进行签名
。
有关 ADT 选项的详细信息,请参阅
AIR Developer Tool (ADT)
。
下面的示例为使用本机扩展的应用程序创建一个 DMG 文件(用于 Mac OS 的本机安装程序文件):
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.dmg
application.xml
-extdir extensionsDir
index.html resources
从 AIR 文件或 AIRI 文件创建本机安装程序
可使用 ADT 基于 AIR 文件或 AIRI 文件生成本机安装程序文件。要基于 AIR 文件构建本机安装程序,请在一个命令行中使用带有以下语法的 ADT
-package
命令:
adt -package
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
air_file
此语法与用于根据 AIR 应用程序的源文件创建本机安装程序的语法类似。但存在几点差异如下:
要基于
AIRI
文件构建本机安装程序,请在一个命令行中使用带有以下语法的 ADT
-package
命令:
adt AIR_SIGNING_OPTIONS
-package
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
airi_file
此语法与用于根据 AIR 文件创建本机安装程序的语法类似。但存在几点差异:
-
指定一个 AIRI 文件作为源。
-
为目标 AIR 应用程序指定签名选项。
以下示例基于 AIR 文件创建 DMG 文件(Mac OS 的本机安装程序文件):
adt -package -target native myApp.dmg myApp.air
以下示例基于 AIR 文件创建 EXE 文件(Windows 的本机安装程序文件):
adt -package -target native myApp.exe myApp.air
以下示例基于 AIR 文件创建 EXE 文件并对其进行签名:
adt -package -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.air
以下示例基于 AIRI 文件创建 DMG 文件(Mac OS 的本机安装程序文件):
adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.dmg myApp.airi
以下示例基于 AIRI 文件创建 EXE 文件(Windows 的本机安装程序文件):
adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.exe myApp.airi
以下示例创建一个 EXE 文件(基于 AIRI 文件)并使用 AIR 和本机 Windows 签名对该文件进行签名:
adt -package -storetype pkcs12 -keystore myCert.pfx -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.airi