デスクトップコンピューター用のキャプティブランタイムバンドルのパッケージ化

キャプティブランタイムバンドルとは、アプリケーションコードおよびランタイムの専用のバージョンのを含むパッケージです。この方法でパッケージ化されたアプリケーションでは、ユーザーのコンピューター上にある他の場所にインストールされた共有ランタイムではなく、バンドルされたランタイムを使用します。

作成されるバンドルは、Windows 上のアプリケーションファイルと Mac OS 上の .app バンドルを含む自己完結型のフォルダーです。ターゲットのオペレーティングシステム用のバンドルは、そのオペレーティングシステムで実行しているときに作成する必要があります(VMWare のような仮想マシンを使用すると、複数のオペレーティングシステムを 1 台のコンピューター上で実行できます)。

このアプリケーションは、インストールせずにフォルダーまたはバンドルから実行できます。

メリット

  • 自己完結型のアプリケーションが作成される

  • インストールのためのインターネットアクセスが不要

  • アプリケーションがランタイムアップデートから分離される

  • 企業が特定のアプリケーションとランタイムの組み合わせを保証できる

  • 従来のソフトウェアデプロイモデルをサポート

  • 別個のランタイム再配布が不要

  • NativeProcess API を使用できる

  • ネイティブ拡張を使用できる

  • File.openWithDefaultApplication() 関数を無制限で使用できる

  • インストールせずに USB または光ディスクから実行できる

デメリット

  • アドビからセキュリティパッチが発行されても、重要なセキュリティの修正が自動的に入手可能にならない

  • .air ファイル形式を使用できない

  • 必要に応じて独自のインストーラーの作成が必要

  • AIR アップデート API およびフレームワークがサポートされていない

  • Web ページから AIR アプリケーションをインストールして起動するための AIR ブラウザー API がサポートされていない

  • Windows では、インストーラーによるファイル登録処理が必要

  • アプリケーションディスクの容量が大きい

Windows でのキャプティブランタイムバンドルの作成

Windows 用のキャプティブランタイムバンドルを作成するには、Windows オペレーティングシステムで実行しているときにアプリケーションをパッケージ化する必要があります。アプリケーションをパッケージ化するには、次のように ADT bundle ターゲットを使用します。

adt -package 
    -keystore ..\cert.p12 -storetype pkcs12 
    -target bundle 
    myApp 
    myApp-app.xml 
    myApp.swf icons resources

このコマンドでは、myApp というディレクトリにバンドルが作成されます。このディレクトリには、アプリケーション用のファイルとランタイムファイルが含まれます。このフォルダーから直接プログラムを実行できます。ただし、プログラムメニューエントリ、登録ファイルのタイプ、URL スキームハンドラーを作成するには、必須のレジストリエントリを設定するインストーラープログラムを作成する必要があります。AIR SDK には、このようなインストーラーを作成するツールは含まれていませんが、サードパーティ製のツールを使用することができます。このようなツールには、有償または無償のオープンソースのインストーラーツールキットなどがあります。

Windows 上でネイティブ実行可能ファイルに署名するには、コマンドラインで、-target bundle エントリの後に第 2 の署名オプションセットを指定します。この署名オプションでは、Windows のネイティブシグネチャを適用する際に使用する秘密キーおよび関連する証明書を指定します(通常は、AIR コード署名証明書が使用されます)。プライマリ実行可能ファイルのみが署名されます。アプリケーションと共にパッケージ化されているその他の実行可能ファイルは、このプロセスでは署名されません。

ファイルタイプの関連付け

Windows でパブリックまたはカスタムのファイルタイプにアプリケーションを関連付けるには、インストーラープログラムで適切なレジストリエントリを設定する必要があります。ファイルタイプは、アプリケーション記述ファイルの fileTypes エレメントにも含める必要があります。

Windows のファイルタイプについて詳しくは、MSDN ライブラリの「File Types and File Associations」を参照してください。

URI ハンドラーの登録

アプリケーションで、特定の URI スキームを使用して URL の起動を処理するには、インストーラーで必要なレジストリエントリを設定する必要があります。

URI スキームを処理するようにアプリケーションを登録する方法について詳しくは、MSDN ライブラリの「Registering an Application to a URL Protocol」を参照してください。

Mac OS X でのキャプティブランタイムバンドルの作成

Mac OS X 用のキャプティブランタイムバンドルを作成するには、Macintosh オペレーティングシステムで実行しているときにアプリケーションをパッケージ化する必要があります。アプリケーションをパッケージ化するには、次のように ADT bundle ターゲットを使用します。

adt -package 
    -keystore ../cert.p12 -storetype pkcs12 
    -target bundle 
    myApp.app 
    myApp-app.xml 
    myApp.swf icons resources

このコマンドでは、myApp.app というアプリケーションバンドルが作成されます。このバンドルには、アプリケーション用のファイルと、ランタイムファイルが含まれます。アプリケーションを実行するには、myApp.app アイコンをダブルクリックします。また、インストールするには、Applications フォルダーなど適切な場所に myApp.app をドラッグします。ただし、ファイルタイプや URI スキームハンドラーを登録するには、アプリケーションパッケージ内のプロパティリストファイルを編集する必要があります。

配布のために、ディスクイメージファイル(.dmg)を作成できます。Adobe AIR SDK では、キャプティブランタイムバンドル用の dmg ファイルを作成するためのツールは提供されていません。

ファイルタイプの関連付け

Mac OS X でパブリックまたはカスタムのファイルタイプにアプリケーションを関連付けるには、バンドル内の info.plist ファイルを編集して CFBundleDocumentTypes プロパティを設定する必要があります。Mac OS X Developer Library、「Information Property List Key Reference」の「CFBundleURLTypes」を参照してください。

URI ハンドラーの登録

アプリケーションで、特定の URI スキームを使用して URL の起動を処理するには、バンドル内の info.plist ファイルを編集して CFBundleURLTypes プロパティを設定する必要があります。Mac OS X Developer Library、「Information Property List Key Reference」の「CFBundleDocumentTypes」を参照してください。