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

AIR 2 以降では、ADT を使用して、AIR アプリケーションを配布するためのネイティブアプリケーションインストーラーを作成できます。例えば、Windows 用の AIR アプリケーションを配布するために、EXE インストーラーファイルを作成できます。また、Mac OS 用の AIR アプリケーションを配布するために、DMG インストーラーファイルを作成できます。さらに、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 ファイルを作成するには、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_fileapp_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

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