2011-02-06 19 views
1

私はこの数日間、私の頭を傷つけてきました。私もGoogleも良い解決策を考え出していません。Firefoxのベータ4ネイティブNPAPIプラグインがロードされていない

Firefox 3.6で正常に機能するネイティブNPAPIプラグインがあります。これは単なる単一のnp * .dllから成っています。

これをFirefox 4 Betaにアップグレードします。私はinstall.rdfを新しいem:unpackディレクティブ(Pre-4ではXPIが自動的にアンパックされました)をインクルードするように変更しました。さらに、新しいchrome.manifestに(現在は)必要な 'バイナリコンポーネント' https://developer.mozilla.org/en/XPCOM/XPCOM_changes_in_Gecko_2.0: 'Gecko 2より前は、コンポーネントの登録時にバイナリとJavaScriptのすべてのコンポーネントファイルがロードされて呼び出され、自分自身を登録するよう要求されました)。

問題は次のとおりです。プラグインがダウンロードされ、インストールされたと思われます。しかし、アドオンマネージャーに表示されている間、それはabout:pluginsには現れず、もちろん使用できません。拡張ログを有効にしてFirefoxを実行しましたが、プラグインに関して本当に有用なものはありませんでした。どちらかが表示されました..

基本的に私は困惑しています。

+0

:-)解決

問題は、それが動作しないNPAPI DLLをロードします拡張機能の – taxilian

+0

はい、それは - 私は手動でプラグインのフォルダにnp * .dllをコピーし、それは3.6のように機能しました。その間、私は実際に最新のFirefox 4ソースを取得し、デバッグバージョンをコンパイルしました。私がXPI経由でインストールしている場合、DLLはロードされますが、XPCOMのものだけがロードされます。以前はFirefox 4以前でDLLを自動的にロードし、適切なNSAPI NP_Initialize/NP_GetEntryPointsを呼び出すことになりました。おそらくその機能は4になってしまったでしょうか? – mhoffesommer

+0

私は最悪の場合はXPCOM DLLを書くこともできると思いますが、NPAPI DLLを適切なプラグインディレクトリに入れておきますが、これはちょっとハッキリしているようです。 :-) – mhoffesommer

答えて

2

Phew - 問題の原因がわかりました:np * .dllは、XPI内のルートフォルダにあり、プラグイン/フォルダではありませんでした。 FF3.6は、それはそうより寛容だった、FF4は唯一のDLLは、プラグインフォルダ内の実際にある場合は、代わりにプラグインとしてインストールした場合...

関連する問題