oyoyo Memo Blog

時事と雑記。気が向いたときに更新するブログ。

非対応・非互換のアドオンを Firefox にインストールする方法

[本エントリは2011年9月25日に作成したものです]


アドオンと呼ばれているものの正体は、「.xpi」という拡張子が付けられた、パッケージ化されたファイルです。そのパッケージ化されたファイル(親ファイル)内に、今回の話の中心となる install.rdf というファイル(子ファイル)が格納されています。

あるアドオンを Firefox にインストールしようとする際、Firefox は、アドオンの install.rdf 内の記述をチェックし、そのアドオンがインストール可能か否かを判定します。よって、対応バージョンの不適合が原因で Firefox にインストールできないアドオンを、インストール可能な状態にするには、大雑把に考えて二つの方法があります。

(1.) Firefox にアドオンの install.rdf 内の記述をチェックさせない
(2.) アドオンの install.rdf 内の記述を改変する

たとえば、有名な Nightly Tester Tools は、(1.) の方法をその主な機能として持つアドオンの一つです。また、Firefox の configuration の設定や変更を比較的手軽にすることができるアドオン Configuration Mania にも 同様な機能が搭載されています。Add-on Compatibility Reporter というアドオンもあります。方法としてはこの (1.) のほうが (2.) よりもポピュラーです。

(2.) の方法には、大雑把にいってさらに二つの方法があります。一つは、Update XPI のようなツールを使って安直に自動的にやってしまう方法です。Update XPI はアドオンの install.rdf 内の maxVersion の値を一律 100.0 に書き換えるツールです。この Update XPI を使えば、Firefox の最新バージョンに非対応・非互換性のアドオンでも、大概のアドオンはインストール可能な状態にすることができますが、なかには上手く処理できないアドオンもけっこうあります。

(2.) のもう一つの方法は、そうしたツールを使わずにユーザーが自分で改変する方法です。このエントリの主題は、Firefox ユーザーが自力で任意のアドオンの install.rdf 内の記述をほんの少し改変し、インストできないアドオンをインスト可能な状態にする方法の紹介です。





その本題に入る前に、申し上げておかなければならないことが、とりあえず3つあります。

★あるアドオンが Firefox に「インストできる」ということと、そのアドオンが Firefox で「動作する」ことは明らかに別の問題です。
★元来が非対応のアドオンをそのファイルの一部を改変して Firefox にインストールすることにより、当該 Firefox が回復困難な損傷を受けたり、あるいは当該 Firefox にインストされている他のアドオンの機能に不具合が発生する可能性もあります。
★小生はITの専門家ではありませんし、ウェブ関連の技術者でも開発者でもありません。ド素人です。また、このエントリに書き綴っている内容には実験的要素を多分に含んでいますので、このエントリを参考にされて作業をなさった場合に発生する全ての事象ならびにその結果については、それぞれの作業者の自己責任でのご対応をお願い致します。


今回、改変するアドオンは Screen Capture Elite です。スクリーンショットのアドオンで、同様な機能を持つ ScreengrabFireShotLightShotPearl Crescent Page Saver BasicAviary (Talon)Abduction! などのアドオンと比較して、キャプチャしたいエリアを機能上の制限なく自由に設定でき、その機能性の割にはファイルサイズは大きくなく標準的で、キャプチャ時の操作面においてもストレスなく使えるアドオンと思います。しかし残念ながら、現時点において、Firefox 4 以降のバージョンには対応しておらず、ダウンロードはできても、Firefox の現・最新バージョンにはインストールできません。そこで、このアドオンの install.rdf 内の記述をほんの少し改変することにより、Firefox の現・最新バージョンはもちろん、今後次々と登場する Firefox の後継バージョンにおいても継続的に使える、という期待を持てるようにします。





今回の作業環境は Windows XP です。
作業の流れの項目を並べると、次のようになります。

0. 事前の準備
1. Screen Capture Elite をダウンロードする
2. XPI ファイルの拡張子を変更する
3. ファイルを解凍し、install.rdf を開く
4. install.rdf 内の記述を改変する
5. ファイルを圧縮するとともに、「.xpi 」の拡張子を持つファイルにする
6. Firefox にインストールする

★画像のうち、リンクになっている画像は、クリックするとその画像を拡大表示します。(拙ブログは Lightbox 2 を導入しています。ページを移動することなく、またページ表示位置はそのままで、拡大画像をご覧いただけます。)


■ 0. 事前の準備

【0-1】
ローカルのファイルの拡張子が表示されるよう、PCの設定をしておきます。
その方法が判らない場合は、「ファイル 拡張子 表示」などの言葉でウェブ検索して見つけてください。

【0-2】
作業には解凍・圧縮ソフト(archiver)が必要です。定評のあるフリーの解凍・圧縮ソフト 「Lhaplus (ラプラス)」 を使用します。
ダウンロードして、いつでも使える状態にしておきます。
現時点での Lhaplus の最新バージョンは Lhaplus v1.59 ですので、これを使用します。
窓の杜 - Lhaplus
Lhaplus の作者による解説ページ(HoeHoe.com 跡地)

Lhaplus のインストールが完了後、Lhaplus の設定をほんの少しだけ変更しておきます。変更するのは次の2か所です。

1つめは「解凍設定1」において、「解凍時にフォルダ名を指定する」に丸チェックを入れます。
Lhaplus 01
これは、何らかの理由で同じアドオンのファイルの解凍から作業をやり直す際、名前の類似したフォルダが複数できてフォルダを取り違えたりするのを防ぐための作業用ステップを予め作っておきたいためです。

2つめは「圧縮設定1」において、「圧縮時にファイル名を指定する」に丸チェックを入れます。
Lhaplus 02
これは、手順 5 のファイル圧縮の際、出力されるファイルの拡張子を「.xpi 」に指定するための前準備です。

2つの設定が済んだら、「適用」をクリックし、続いて「OK」をクリックします。

【0-3】
インストールしたアドオンが原因となって Firefox が起動できなくなる万一の事態に備えて、Firefox をなるべく手軽にセーフモードで起動できるよう、Firefox をスタートメニューに追加しておきます。
デスクトップの Firefox アイコンを右クリック、もしくは「すべてのプログラム」内の Mozilla Firefox を右クリックして、「[スタート]メニューにアイコンを追加」を選択してクリックすれば、Firefox をスタートメニューに追加できます。

仮に有事の際、そこから先の段取りとしては、

スタートメニューの Mozilla Firefox の上で右クリック
  ↓
「Firefox セーフモード」を選択してクリック
  ↓
「Firefox セーフモード」のウィンドウが起動
Firefox セーフモード 01
  ↓
「すべてのアドオンを無効化する」にチェックを入れる
  ↓
「セーフモードを続ける」をクリック

これで、インストしたアドオンが原因の突発的な不具合が発生しても、Firefox を起動させることができます。
Firefox がセーフモードであれ起動さえすれば、ツールメニューからアドオンマネージャを開き、不具合の原因となっているアドオンの削除を選択的に指定し、Firefox を再起動(restart)させれば、Firefox は平常通りの動作ができるようになります。


以下、全てのファイルの拡張子が表示されており、かつ、上述の Lhaplus の設定が済んだ状態になっていることを前提に、作業の経過を記述します。


■ 1. Screen Capture Elite をダウンロードする

【1-1】
Firefox 用アドオンの公式サイト Add-ons for Firefox で、Screen Capture Elite
を IE または Google Chrome など、Firefox 以外のウェブブラウザでダウンロードします。
もしくは、Firefox で User Agent を適当に偽装してページにアクセスし、ダウンロードします。

Firefox で素直にダウンロードしようとすると、ページのどこかに
「このアドオンはお使いの Firefox のバージョンで動作するように更新されていません」というような表示が出ます。
まぁ今回は、「お使いの Firefox のバージョンで動作するように更新されてい」ないからこそ、ダウンロードするわけです。(笑)

ここではデスクトップにダウンロードします。ダウンロードするとデスクトップに screen_capture_elite-2.0.0.20-fx.xpi という名前の XPI ファイルのアイコンが生成されます。
Screen Capture Elite 01

ダウンロードしたにもかかわらず、デスクトップに当該アイコンが見当たらない場合は、デスクトップの何も無い空いているところであればどこでもいいので、右クリックして、「最新の情報に更新」を選択し、クリックします。すると、screen_capture_elite-2.0.0.20-fx.xpi という名前の XPI ファイルのアイコンが現れます。


■ 2. XPI ファイルの拡張子を変更する

【2-1】
screen_capture_elite-2.0.0.20-fx.xpi のファイルのアイコンの上で右クリックして、「名前の変更」または「プロパティ」を選択してクリックし、拡張子を「.xpi」から「.zip」に書き換えます。

書き換えた後、「OK」をクリックすると、つぎのようなダイアログが出てきます。
Screen Capture Elite 0b
「拡張子を変更すると、ファイルが使えなくなる可能性があります。変更しますか?」
→「はい」をクリックします。

ファイルの名前が screen_capture_elite-2.0.0.20-fx.zip になりました。
[変更前]
Screen Capture Elite 01
screen_capture_elite-2.0.0.20-fx.xpi
  ↓
[変更後]
Screen Capture Elite 03
screen_capture_elite-2.0.0.20-fx.zip


■ 3. ファイルを解凍し、install.rdf を開く

【3-1】
screen_capture_elite-2.0.0.20-fx.zip のファイルのアイコンの上で右クリックして、「解凍」→「ここに解凍」を選択し、クリックします。
Screen Capture Elite 04

Lhaplus のメッセージ・ダイアログ「自動作成するフォルダの名前を指定してください」が表示されますので、screen_capture_elite-2.0.0.20-fx をここでは screen_capture_elite_50.0 に変更し、「OK」をクリックします。

[変更前]
Lhaplus 03
  ↓
[変更後]
Lhaplus 04

すると、screen_capture_elite_50.0 というフォルダのウィンドウが現れ、そのなかに install.rdf というファイルが姿を現します。
Screen Capture Elite 05
install.rdf は 1kB 足らずの小さなファイルです。

【3-2】
で、通常の文書ファイルなどであれば、そのアイコンをダブルクリックすれば、ファイルが開くわけですが、この install.rdf というファイルはダブルクリックで開くことはできません。

そこで、まず、フォルダ内の何も無い空いているところであればどこでもいいので、右クリックして、「新規作成」→「テキスト ドキュメント」を選択し、クリックします。
Screen Capture Elite 06

「新規テキスト ドキュメント」というファイルのアイコンが生成されます。
Screen Capture Elite 07

この「新規テキスト ドキュメント」のアイコンをダブルクリックして、「新規テキスト ドキュメント」を開いておきます。

そして、install.rdf のアイコンを「新規テキスト ドキュメント」のウィンドウの上に「ぐぐーっ」とドラッグしていって、パッと放します。

Screen Capture Elite 08
install.rdf の中身が現れました。量的には大したことはありません。


■ 4. install.rdf 内の記述を改変する

【4-1】
この install.rdf ファイルの真ん中あたりに、targetApplication というのがあります。
Screen Capture Elite 0p1

この targetApplication という項目には、そのアドオンが対象としているアプリケーション、およびその対応バージョンの最小値と最大値が記述されています。
Firefox を対象としているアドオンの場合、
targetApplication の id は {ec8030f7-c20a-464f-9b0e-13a3a9e97384} になります。
◇ 参考ページ: アプリケーションのバージョン :: Add-ons for Firefox

この targetApplication のなかに maxVersion というところがあります。
Screen Capture Elite 0p2
改変するのはズバリ、ココです。今回はココだけ!です。
この maxVersion の値 「4.0.*」 をもっと大きな値に変更します。

たとえば、
Firefox 8 に対応してくれれば良い、という場合は maxVersion 値を「8.0.*」に変更します。
Firefox 13 まで対応させたい、という場合は maxVersion 値を「13.0.*」に変更します。

しかしながら、Firefox は今年(2011年)に入って、リリースサイクルが大幅に短縮され、およそ6週間ごとに次々と後継バージョンがリリースされることになりました。
◇ 参考ページ: Firefox - 高速リリースサイクルに関するよくある質問  

なので、この maxVersion 値もなるべく大きな値にしておきたいかな・・・、という気持ちがあります。ゆえに小生は、maxVersion 値を「20.0.*」とか、「50.0.*」に設定します。

今回は、この maxVersion 値を「50.0.*」に設定します。「5.0.*」ではありません。「50.0.*」です。

まぁ、Firefox のバージョンが、Firefox 40 とか、Firefox 50 になるころには、Firefox 自体が今の Firefox とは、きっと別物になるでしょうから、 アドオンの maxVersion 値を「50.0.*」に設定したからといって、未来永劫そのアドオンが Firefox の最新バージョンで使い続けることができるようになるわけではありません。

maxVersion 値を「50.0.*」に変更すると、install.rdf の中身はこうなります。
Screen Capture Elite 0p3
単に maxVersion 値が「4.0.*」から「50.0.*」に変わっただけですが、念のため、画像で確認しておきます。

【4-2】
ファイルメニューから「上書き保存」を選択し、クリックして「上書き保存」を行った後、 この install.rdf ファイルを閉じます。
Screen Capture Elite 0f


■ 5. ファイルを圧縮するとともに、「.xpi 」の拡張子を持つファイルにする

【5-1】
再び screen_capture_elite_50.0 というフォルダのウィンドウを見ます。

手順 3 で作成した「新規テキスト ドキュメント」は、もう用が済んだので削除します(ごみ箱に移します)。

【5-2】
フォルダの編集メニューから「すべて選択」を選択し、クリックします。
Screen Capture Elite 13

つまり、こういう状態にします。
Screen Capture Elite 10

フォルダのファイルメニューから「圧縮」→「.zip」を選択し、クリックします。
Screen Capture Elite 14

すると、「名前を付けて保存」のウィンドウが現れます。

ウィンドウ上部の「保存する場所」を「デスクトップ」にします。もしくはそうなっていることを確認します。
Screen Capture Elite 0p4

「ファイル名」を「*********.zip」から、ここでは screen_capture_elite_50.0.xpi に変更し、「保存」をクリックします。
Screen Capture Elite 0p5
「ファイルの種類」は「アーカイブ ファイル (*.zip)」のままにしておいてください。

すると、デスクトップに screen_capture_elite_50.0.xpi という XPI ファイルのアイコンが現れます。
Screen Capture Elite 0g

デスクトップに当該アイコンが見当たらない場合は、デスクトップの何も無い空いているところであればどこでもいいので、右クリックして、「最新の情報に更新」を選択し、クリックします。すると、screen_capture_elite_50.0.xpi という名前の XPI ファイルのアイコンが現れます。

こうして作成した screen_capture_elite_50.0.xpi は、 Screen Capture Elite と同じ機能を持ち、対応バージョンの値のみを問題にして語るならば、Firefox のバージョン 50 まで対応します。


■ 6. Firefox にインストールする

【6-1】
Firefox を開き、screen_capture_elite_50.0.xpi のアイコンをFirefox のウィンドウの上に「ぐぐーっ」とドラッグしていって、パッと放すと、screen_capture_elite_50.0.xpi のインストールが開始されます。

あとは、通常のアドオンのインストールと同じ要領で、Firefox を再起動(restart)させれば、インストールは完了します。

screen_capture_elite_50.0.xpi を Firefox 6.0.* にインストし、アドオンマネージャで見たところ。
Screen Capture Elite 0e
インストしたのは2011年9月25日なので、「更新日」も2011年9月25日と表示されています。
このショットは、インストした screen_capture_elite_50.0.xpi (Screen Capture Elite)を使って撮った Firefox 画面のスクリーンショットです。

Extension List Dumper で見たところ。
Extention List Dumper 01
Screen Capture Elite の動作バージョンの最大値が通常ではありえない「50.0.*」になっている点に注目。
その少し上に見えている Resurrect Pages の動作バージョンの最大値についても通常ではありえない「100.0」になっていますが、こちらは、安直ツール Update XPI で処理してインストしたものだったような記憶があります。


■一連の作業のなかで、特に注意すべきポイント■

手順【4-1】で、改変するのは maxVersion の値だけです。他の記述をうっかり傷つけたおそれがある場合は、編集中の install.rdf のウィンドウを、内容の変更を保存せずに終了し、作業を手順【3-2】 の途中からやり直してください。
なお、他の記述をうっかり傷つけたおそれのある install.rdf を「上書き保存」してしまった場合は、手順【3-1】の「解凍」からやり直してください。

手順【5-1】の、用が済んだ「新規テキスト ドキュメント」を削除する(ごみ箱に移す)作業を忘れずに確認してください。「新規テキスト ドキュメント」は今回の作業上必要だったから作成したに過ぎず、元々の XPI ファイルの構成には無かったものです。

手順【5-2】の通り、フォルダの中身を「すべて選択」してから「圧縮」に進んでください。決してフォルダの中身を一つずつ圧縮しないこと、また、screen_capture_elite_50.0 のフォルダごと圧縮しないことが重要です。たとえば、screen_capture_elite_50.0 のフォルダのアイコンを右クリックして、右クリックメニューからフォルダをまるごと圧縮すると、元々の XPI ファイルの持っていた構造系(hierarchical structure)が別の構造系の内部を構成するようなファイル構造になってしまい、インスト時にエラーかインスト後に不具合が発生する可能性が高くなります。

同じく手順【5-2】で、ファイル名を「*********.zip」から、拡張子「.xpi」を持つファイル名に変更したことをよく確認されたうえで、「保存」をクリックしてください。


こうしてエントリにして書き綴ると長~~~くなってしまいましたが、手順 0 の事前の準備さえ整っていれば、こうした作業に慣れたユーザーなら手順 1~6 の一連の作業は合計1分程度で完了できます。

ちなみに、既に更新はおろか配布もとっくに終了されたあるアドオンを、古いバージョンの Firefox の Profiles から複製し、これを以上で紹介した一連の作業で改変し、最新バージョンの Firefox にインストして、現在、実験的に使用して数か月が経過していますが、問題なく動作しています。

このエントリでは Screen Capture Elite を例に採り上げましたが、アドオンが変わっても作業の原則的手順は同じです。






☆ 或る一般ユーザーのおすすめアドオン集 ☆
 ↑
Add-ons for Firefox のコレクションコーナーにおいて、ShaMoJii の HN で小生がブックマーク代わりに作ったコレクションです。
Screen Capture Elite も応援の意味で含めています。




関連記事
スポンサーサイト

コメント

コメントの投稿


ブログの管理人のみ閲覧できるコメントとして投稿する

トラックバックURL (言及リンクは不要です。)

http://oyoyomemo.blog.fc2.com/tb.php/148-abaa9d59
» このエントリにトラックバックする (FC2ブログユーザー)

» -

管理人の承認後に表示されます

 | HOME | 

Recent Entries

 

East Turkistan

日本ウイグル協会

Uyghur American Association

世界ウイグル会議

 

Blue Ribbon

内閣官房 拉致問題対策本部

外務省 北朝鮮による日本人拉致問題

警察庁 北朝鮮による拉致容疑事案について

救う会 全国協議会

特定失踪者問題調査会

 

メールフォーム

Name (HN)

Mail

Subject

Comment

 

QRコード

QR

Special Thanks

Powered by FC2

This template designed by Underground

Some images displayed with Lightbox

Some icons designed by フリーWEB素材サイト「DOTS DESIGN」

 

管理人

oyoyo (oyoyomemo)

 oyoyo (oyoyomemo)
 

   RSSフィード