デスクトップネイティブインストーラーのパッケージ化

AIR 2 以降では、ADT を使用して、AIR アプリケーションを配布するためのネイティブアプリケーションインストーラーを作成できます。例えば、Windows 用の AIR アプリケーションを配布するために、EXE インストーラーファイルを作成できます。また、Mac OS 用の AIR アプリケーションを配布するために、DMG インストーラーファイルを作成できます。AIR 2.5 および AIR 2.6 では、さらに、Linux 用の AIR アプリケーションを配布するために、DEB または RPM インストーラーファイルを作成できます。

ネイティブアプリケーションインストーラーでインストールされたアプリケーションは、拡張デスクトッププロファイルアプリケーションと呼ばれます。デスクトップ拡張プロファイルがアプリケーション記述ファイルによってサポートされていない場合は、AIR アプリケーションのネイティブインストーラーをパッケージ化するときに ADT を使用できません。このプロファイルを制限するには、アプリケーション記述ファイル内の supportedProfiles エレメントを使用します。 デバイスプロファイル および supportedProfiles を参照してください。

AIR アプリケーションのネイティブインストーラーバージョンは、基本的には 2 つの方法を使用して作成できます。

  • アプリケーション記述ファイルおよびその他のソースファイルに基づいて、ネイティブインストーラーを作成できます(その他のソースファイルとして、SWF ファイル、HTML ファイルおよびその他のアセットが使用される場合があります)。

  • AIR ファイルまたは AIRI ファイルに基づいて、ネイティブインストーラーを作成できます。

ADT は、生成するネイティブインストーラーのオペレーティングシステムと同じオペレーティングシステム上で使用する必要があります。つまり、Windows 用の EXE ファイルを作成するには、Windows 上で ADT を実行します。Mac OS 用の DMG ファイルを作成するには、Mac OS 上で ADT を実行します。Linux 用の DEB または RPG ファイルを作成するには、AIR 2.6 SDK から Linux 上で ADT を実行します。

ネイティブインストーラーを作成して AIR アプリケーションを配布すると、そのアプリケーションでは次の機能を使用できます。

  • NativeProcess クラスを使用し、ネイティブプロセスを起動して操作できます。詳しくは、以下のいずれかを参照してください。
  • ネイティブ拡張を使用できます。

  • File.openWithDefaultApplication() メソッドを、デフォルトのシステムアプリケーションが定義されているすべてのファイルに対して呼び出して使用し、ファイルタイプに関係なく、そのファイルを開くことができます(ネイティブインストーラーでインストールされ ない アプリケーションには制限があります。詳しくは、リファレンスガイドの「 File.openWithDefaultApplication() 」の項目を参照してください)。

ただし、ネイティブインストーラーとしてパッケージ化するとき、アプリケーションでは AIR ファイル形式の利点のいくつかが失われます。単一ファイルでは、すべてのデスクトップコンピューターに配布できなくなります。組み込みのアップデート機能(およびアップデートフレームワーク)は動作しません。

ユーザーがネイティブインストーラーファイルをダブルクリックすると、AIR アプリケーションがインストールされます。必要なバージョンの Adobe AIR がコンピューターにインストールされていない場合は、まず、インストーラーによってその Adobe AIR がネットワークからダウンロードされ、インストールされます。適切なバージョンの Adobe AIR を取得する必要がある場合は、ネットワークに接続されていないと、インストールは失敗します。また、オペレーティングシステムが Adobe AIR 2 でサポートされていない場合も、インストールできません。

注意: インストールされたアプリケーションでファイルを実行可能にする場合には、アプリケーションをパッケージ化するときに、対象のファイルシステムでそのファイルが実行可能であることを確認してください(Mac と Linux では、必要に応じて、chmod を使用して実行可能フラグを設定できます)。

アプリケーションソースファイルからのネイティブインストーラーの作成

アプリケーションのソースファイルからネイティブインストーラーを作成するには、 -package コマンドを次のシンタックスで使用します(1 行のコマンドラインで使用)。

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 を指定すると、ネイティブインストーラーファイルの代わりに AIR ファイルが ADT によって生成されます)。

  • ターゲット DMG または EXE ファイルを installer_file として指定します。

  • オプションで、Windows では署名オプションの 2 番目のセットを追加できます。これは、シンタックスの例で [WINDOWS_INSTALLER_SIGNING_OPTIONS] として示されている部分です。Windows では、AIR ファイルの他に Windows インストーラーファイルにも署名できます。AIR ファイルに署名する場合と同じ種類の証明書および署名オプションシンタックスを使用してください( ADT コード署名のオプション を参照)。同じ証明書を使用して AIR ファイルおよびインストーラーファイルに署名できます。また、異なる証明書を指定することもできます。署名された Windows インストーラーファイルを、ユーザーが Web からダウンロードすると、証明書に基づいてファイルのソースが確認されます。

-target オプション以外の ADT オプションについて詳しくは、 AIR 開発ツール(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 コマンドを次のシンタックスで使用します(1 行のコマンドラインで使用)。

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 ...] ...

このシンタックスは、ネイティブインストーラーをパッケージ化する際に使用するシンタックスと同じで、オプションが 2 つ追加されています。 -extdir extension-directory オプションを使用して、アプリケーションで使用する ANE ファイル(ネイティブ拡張)を含むディレクトリを指定します。プライマリのコード署名証明書が、以前のバージョンで使用したものと異なる証明書である場合に、オプションの -migrate フラグと MIGRATION_SIGNING_OPTIONS パラメーターを使用して、移行署名を含むアプリケーションのアップデートに署名します。詳しくは、 AIR アプリケーションのアップデートバージョンの署名 を参照してください。

ADT のオプションについて詳しくは、 AIR 開発ツール(ADT) を参照してください。

以下の例では、ネイティブ拡張を使用するアプリケーションの DMG ファイル(Mac OS 用のネイティブインストーラーファイル)が作成されます。

adt -package 
    -storetype pkcs12 
    -keystore myCert.pfx 
    -target native 
    myApp.dmg 
    application.xml 
    -extdir extensionsDir 
    index.html resources

AIR ファイルまたは AIRI ファイルからのネイティブインストーラーの作成

AIR ファイルまたは AIRI ファイルに基づいて、ADT を使用してネイティブインストーラーファイルを生成できます。AIR ファイルに基づいてネイティブインストーラーを作成するには、ADT -package コマンドを次のシンタックスで使用します(1 行のコマンドラインで使用)。

adt -package 
    -target native 
    [WINDOWS_INSTALLER_SIGNING_OPTIONS] 
    installer_file 
    air_file

このシンタックスは、AIR アプリケーションのソースファイルに基づいてネイティブインストーラーを作成するシンタックスと似ています。ただし、異なる点もいくつかあります。

  • ソースとして、アプリケーション記述ファイルおよび AIR アプリケーション用のその他のソースファイルではなく、AIR ファイルを指定します。

  • 既に署名されている場合は、AIR ファイルの署名オプションは指定しないでください。

AIRI ファイルに基づいてネイティブインストーラーを作成するには、ADT -package コマンドを次のシンタックスで使用します(1 行のコマンドラインで使用)。

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

次の例では、(AIRI ファイルに基づいて)EXE ファイルを作成し、AIR の署名およびネイティブの Windows の署名の両方を使用して署名します。

adt -package -storetype pkcs12 -keystore myCert.pfx -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.airi