以下のテキストの原文は http://weblogs.mozillazine.org/ben/archives/008431.html です。これはあくまで自分が意味を取るために訳したものであり、訳の品質に対しては一切保証しません。(訳した日:2005.7.2

Firefox企業向けメモ

Firefoxの企業向けの導入方法について、いくつか考えてみました。

拡張機能の導入

もしあなたがFirefox 1.0を企業内ネットワークにおいて導入しているのなら、あなたはどのようにして拡張機能をFirefoxに導入すればよいかという問題に突き当たるで しょう。Firefoxはそのシステムにおけるすべてのユーザが利用できるように、コマンドラインオプションによって(プロファイル内ではなく)アプリ ケーション・ディレクトリに拡張機能を導入するための機能を持っています。しかし、そうして導入された拡張機能を完全にアンインストールする方法は提供し ていません。

そこで、私は考えてみました。企業内ネットワークという場面において、一般的には、アプリケーションディレクトリ(C:\Program Files\Mozilla Firefoxなど)の内容はシステム管理者が管理しており、そこへの拡張機能の導入にコマンドプロンプトを使わなくてはな らない限り、そして、多くの場合はプロファイルディレクトリへのインストールのためにWebページを使うようになっている限り、一般ユーザは多くの Firefox用拡張機能を、アプリケーションディレクトリへはインストールできない状況にあるでしょう。このような事情を鑑みて、私は、定期的にc:\Program Files\Mozilla Firefox\extensionsの内容を破棄して再構築することを、システム管理者が許容できるようにするべきだと考 えています。

手順は以下の通り、そう難しいものではありません:

拡張機能を導入する場合

  1. あなたが管理するPCにFirefoxをシステム管理権限でインストールする。firefox.exeがインストールされた場所 を憶えておくこと。
  2. 拡張機能のxpiファイルを、テンポラリディレクトリなど、どこでもよいので、あなたのPCに保存する。
  3. firefox.exeを「-install-global-extension」というコマンドラインオプション付きで起動す る。例:firefox.exe -install-global-extension C:\path\to\extension.xpi この操作をすべての拡張機能のxpiファイルに対してそれぞれ行う。

拡張機能をアンインストール場合

{ほげ} というGUIDの拡張機能をアンインストールする場合、以下のようにする。:

  1. C:\Program Files\Mozilla Firefox\extensions\ ディレクトリの内容を列挙する。GUID形式の名前になっているすべてのサブディレクトリについて、そのGUIDが{ほげ}と等しくないのであれば、削除 せずに保持し続けるもののリストにその名前を加える。
  2. Extensions.rdfを削除する(か、どこか別の場所へ移動する)
  3. installed-extensions(なんちゃら).(なんちゃら)という名前のファイルをすべて削除する。
  4. installed-extensions.txtという名前で新しいテキストファイルを作成し、以下の形式で内容を記述する: アンインストールしたくないアイテムのGUIDについて、theme,{GUID} extension,{GUID}と書く。なお、ユーザが他のテーマをインストールした場合でも、いつでもデフォルトのテーマに戻せるように、theme, {972...という文字で始まるデフォルトのテーマの定義を忘れてはいけない。
  5. Extensions.rdfを再作成するために、管理者権限でfirefox.exeを-registerというコマンドライ ンオプションを付けて起動する。
  6. あなたが削除した項目は消え去るだろう。

アプリケーションディレクトリのextensionsディレクトリにあるExtensions.rdfは、そこにインストールされてい るすべての拡張機能に関するメタ情報を保持しています。Extensions.rdfを自分で解析しようとしないでください。このファイルの形式は RDF/XMLで、その構造は非決定的です。ですから、そうするのではなく、前述したような整合性を保ったExtensions.rdfの再構築の手順に 従うようにしてください。

Firefox 1.1

Firefox 1.1はこれらの点においてもっとシンプルになるでしょう。Firefox 1.1でも-install-global-extensionコマンドラインオプションは機能しますが、しかし前述したようなアンインストールのための 手順は適用できなくなります(いくつかのファイルは存在しなくなっているので、試さないでください)。

Firefox 1.1において拡張機能をアンインストールするための最も簡単な方法は、拡張機能をユーザのハードディスクのどこか(C:\Program Files\My Firefox Extension\など。xpiファイルの中のファイル群はこの中に展開されます)にインストールしておくことで す。

HKEY_LOCAL_MACHINE以下に、以下のレジストリキーを追加してください。:

SOFTWARE\Mozilla\Firefox\Extensions

ID=C:\path\to\extension\dir

「ID」の部分には、foo@bar.comや{GUID}のような妥当な形式で拡張機能のIDを記述します。パスにはその拡張機能が 配置されている場所を記述します。

それぞれのユーザが最初にFirefoxを起動したとき、拡張機能マネージャはこの情報を元にして拡張機能を認識し、登録するでしょ う。拡張機能を削除するには、先ほどのレジストリキーと拡張機能のファイルを削除するだけです。ただ、それだけです!

MSI

私達は、クオリティの高いMSI(Microsoft Windows Installer)を提供し、企業への導入を手助けする必要に迫られています。このインストールシステムは、FirefoxがXULRunnerを元に 再構築されるのに伴って、1.5〜2.0の開発期間の間に変更されるでしょう。それはとても素晴らしいものになるはずです。

設定

私達は、Windowsのレジストリなどのように、既存のネットワーク設定ツールが動作している特定のシステムに個別の設定を反映するための方法を考える べきです。Windowsネットワークにミッション・コントロール・デスクトップを設定の管理のために導入されているのが特別なケースだと考えることので きる時代は、おそらくもう終わっています。既にあるPref Locling/MCDのアプローチに加えて、他のプラットフォームのためのその他の解決策も考えなくてはなりません。

Posted by ben at July 1, 2005 09:13 PM