Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

マルチアイテムパッケージの作成

マルチアイテムパッケージは、ユーザがダウンロードしてインストールできる物や、アプリケーションや外部のプログラムによって事前にパッケージ化された物など、複数のインストール可能なBundleを一つのパッケージにまとめる機能を提供します。すべてのマルチアイテムパッケージは、1つのinstall.rdfファイル(古いスタイルの install.js ではなく!)と、以下の注意書きにある物を除いて、単体の拡張機能を作るのに必要な要素と同じ物を含みます。

現在の所、拡張機能の古いバージョンをインストールする際に、ユーザに対して警告したり、それを禁止したりするような機能はありません。

マルチアイテムパッケージ内のファイルの配置

マルチアイテムパッケージ内のファイルの配置は、インストール可能なBundleの内容をより簡潔にしたもので、ファイルの拡張子は xpi です。一つのマルチアイテムパッケージの中に、拡張機能(ファイル名の拡張子が xpi である物)とテーマ(ファイル名の拡張子がjarである物)の両方を含めることができます。基本的な構造は以下の通りです:

/install.rdf                        インストール定義
/extension1.xpi                     拡張機能
/extension2.xpi                     拡張機能
/theme1.jar                         テーマ
/theme2.jar                         テーマ
...

拡張機能マネージャは、これがマルチアイテムパッケージであるかどうかを判別するために install.rdf で提供されたインストール定義を読み取り、その中に含まれているそれぞれの個別のパッケージのインストールを自動的に開始します。install.rdf で提供されたインストール定義と同じ階層に置かれたその他のファイルや、jarxpi といった拡張子のファイルは、展開されることも利用されることもありません。

install.rdf

マルチアイテムパッケージは、install.rdf について、拡張機能の場合とは異なる要件を持っています。必要な項目は em:idem:targetApplication 、そして em:type だけです。

Firefox 1.5 および Thunderbird 1.5 の拡張機能マネージャがこのパッケージをマルチアイテムパッケージであると判別できるようにするために、あなたの作る install.rdf では <em:type NC:parseType="Integer">32</em:type> のような形で、 em:type の値として 32 を指定する必要があります。また、以下の例で示すように、あなたの作るinstall.rdfの中ではXML名前空間として xmlns:NC="https://home.netscape.com/NC-rdf#" を宣言しておく必要もあります。

...
<RDF xmlns="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:NC="https://home.netscape.com/NC-rdf#"
     xmlns:em="https://www.mozilla.org/2004/em-rdf#">

  <Description about="urn:mozilla:install-manifest">
    <!-- マルチアイテムパッケージ用に、nsIUpdateItem の型を指定 -->
    <em:type NC:parseType="Integer">32</em:type>
...

Firefox 2.0 および Thunderbird 2.0 の拡張機能マネージャに対しては、前述の記法もしくは、以下のような <em:type>32</em:type> という書き方のどちらも使えます。

...
<RDF xmlns="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="https://www.mozilla.org/2004/em-rdf#">

  <Description about="urn:mozilla:install-manifest">
    <!-- マルチアイテムパッケージ用に、nsIUpdateItem の型を指定 -->
    <em:type>32</em:type>
...

em:targetApplication を指定するときは、minVersion には最も高い minVersion を、maxVersion には最も低い maxVersion を、このマルチアイテムパッケージが含んでいるその em:targetApplication 用のインストール可能なBundlesすべての中から選び出してください。この作業を怠ると、マルチアイテムパッケージ内に含まれているバージョンにおいて互換性がないとされている項目は、互換性のチェックにおいて、互換性があると見なすための新しい互換性情報を検出できたとしても、インストールはされません。

インストール

マルチアイテムパッケージのインストールにおいては、拡張機能やテーマをインストールするための現存するあらゆる方法と、拡張機能やテーマについての場合と同じユーザインターフェースを用いて、インストールを実行することができます(ただし、マルチアイテムパッケージに含まれている個々のパッケージは列挙されません)。また、マルチアイテムパッケージのために署名の情報を示すこともできます。

マルチアイテムパッケージのダウンロードが完了して(拡張機能マネージャやテーママネージャのような)マネージャが表示されたときには、マネージャは、ユーザが複数の項目を同時にインストールするように選択した場合と同じ方法で、マルチアイテムパッケージに含まれていたすべての個々の項目を表示します。マルチアイテムパッケージのダウンロードが完了した後は、マネージャはマルチアイテムパッケージ自身を一覧の中には表示しません。

Toolkit APIのための公式のリファレンス

Official References. Do not add to this list without contacting Benjamin Smedberg. Note that this page is included from the pages listed below. So: Don't Add Breadcrumbs!

ドキュメントのタグと貢献者

 このページの貢献者: teoli, Piro, Mgjbot
 最終更新者: teoli,