Gecko SDK を使用して、C++ でプロトコル ハンドラー拡張機能を実装しました。dll を C:\Program Files (x86)\Mozilla Firefox\components にコピーすると、すべてが完全に機能します。ただし、同じ dll を使用して .xpi インストール ファイルを作成すると、拡張機能がインストールされます。カスタムプロトコルは機能しませんでした。
xpiファイルに次の構造があります
chrome.manifest
components
components/abc.dll
install.rdf
IDL ファイルがありません。xpiにはIDLファイルが必要ですか?