Dec 17, 2007

XULRunnerアプリケーションにアドオンをインストールする方法

McCoyの改造を試みるために、XULRunnerアプリでもアドオンを使えるのかどうかという実験をしてみた。

  1. XULRunnerアプリを終了する。
  2. インストールしたいアドオンのXPIパッケージの中にあるinstall.rdfを編集して、targetApplicationにそのXULRunnerアプリのIDを書き加える。ちなみにXULRunnerアプリのIDはアプリケーションのディレクトリにあるapplication.iniに書かれている。McCoyなら「mccoy@developer.mozilla.org」。
  3. XULRunnerアプリのプロファイル内の「extensions」フォルダに、アドオンのXPIパッケージをコピーする。McCoyの場合は「C:\Documents and Settings\ユーザ名\Application Data\Mozilla\McCoy\Profiles\ランダムな文字列.default\extensions」。
  4. XULRunnerアプリを起動する。
  5. Firefoxの物と同じ「ソフトウェアインストール」のダイアログが表示されるので、「OK」ボタンを押してアドオンをインストールする。

これだけでいける。逆に、アドオンをアンインストールしたい時は、アドオンのID名が付いたフォルダをプロファイル内の「extensions」フォルダから削除する。

amachangさんはアプリやアドオンそのものの中身をガリガリ書き換えるやり方を紹介されてるけど、僕はこういうやり方はしない方がいいと思ってる。理由は以下の通り。

  • アプリやアドオンが自動アップデートされる度に、その都度ソースを書き換え直さないといけない。Firefoxの場合特に設定を変えていなければ勝手にそれらが行われてしまうので、「気がついたら変更が失われてた」ということになりかねない。
  • アプリやアドオンの自動アップデートを止めればその心配はなくなるが、今度は、セキュリティアップデートが適用されないので危険なままの状態が続いてしまうという別の問題が発生する。少なくとも僕については、ものぐさなので、毎回必ずコードを書き換え直すのを嫌ってセキュリティホールがあると知りながら古いバージョンの改造版を使い続けてしまいそう。

なので、これらの問題を回避するために、teramakoさんのようにそれ用のアドオンを作って使うか、userChrome.jsを使うかする方がいいと僕は思う。今回McCoy用の改造をアドオンという手法で行うことを試みているのも、そういう理由からだ。

エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能