Windowsレジストリを使って拡張機能を追加する

 

はじめに

この文書は、Windowsレジストリを使ってFirefoxとThunderbirdの拡張機能を「インストール」するための方法を説明しています。この機能はサードパーティ製のインストーラが拡張機能をFirefoxとThunderbirdに対して簡単に登録できるようにするために設計されています。

このドキュメントで解説されている機能はFirefox/Thunderbird 1.5以降でのみ利用できます。

インストール

インストールは以下のキー以下のレジストリエントリの記入によって行われます。:

HKEY_CURRENT_USER\Software\ベンダ\名前\Extensions
HKEY_LOCAL_MACHINE\Software\ベンダ\名前\Extensions

ベンダ名前は、nsIXULAppInfoのプロパティが返す値と一致する文字列です。Mozilla製品では、ベンダは「Mozilla」で、名前は製品の短い名前です。例:

HKEY_CURRENT_USER\Software\Mozilla\Firefox\Extensions
HKEY_CURRENT_USER\Software\Mozilla\Thunderbird\Extensions

拡張機能のIDがレジストリエントリの名前として用いられる必要があります。レジストリエントリはREG_SZ型でなくてはならず、その値はその拡張機能を含んでいるフォルダ(つまり、XPIが展開された場所)の絶対パスでなくてはなりません。例えば、拡張機能を開発するの項で説明されている拡張機能をインストールするには、名前がsample@foo.netで値がc:\extensions\myExtensionのレジストリエントリを作成します。

レジストリエントリが作成された後、Firefox/Thunderbirdは次回起動時にその変更に気がつきます。Firefox/Thunderbirdが起動中にレジストリキーを変更しても安全です。

もし同じ拡張機能がHKEY_CURRENT_USER以下とHKEY_LOCAL_MACHINE以下の両方に登録されていた場合、HKEY_CURRENT_USER以下のインスタンスが利用されます。(手動インストールなどによって)ユーザのプロファイルディレクトリ内に同じ拡張機能がある場合には、レジストリ内にあるいかなるインスタンスよりも、そちらの方が優先されます。

アンインストール

Windowsレジストリを使ってインストールされた拡張機能は、そのレジストリエントリをただ削除するだけでアンインストールすることができます。レジストリエントリが削除された後、Firefox/Thunderbirdは次回起動時にその変更に気がつきます。Firefox/Thunderbirdが起動中にレジストリキーを変更しても安全です。

更新

Firefox は再起同時に install.rdf に対する変更を自動的には検出しません。これは、install.rdf の内容を確認する前にアドオンがインストールされているディレクトリの最終更新日時を確認するせいです。Firefox に install.rdf の変更を強制的に通知するには、ディレクトリを削除して作り直すか、ディレクトリの最終更新日時を更新して下さい。

参照

Document Tags and Contributors

Contributors to this page: Piro, Shimono, Mgjbot
最終更新者: Piro,