Add-On SDK を使用して Firefox 拡張機能を作成し、レジストリ キーを介して強制的にインストールしました。(経由HKLM\Software\Mozzilla\Firefox\Extensions\extensionid
)
アドオン マネージャーに移動して [更新プログラムの確認] を選択すると、 で指定された URL に要求が発行されません<updateUrl>
。https://versioncheck.addons.mozilla.org/ ...に対して送信されるリクエストがありますが、 で指定されたカスタム URL に対して送信されません<updateUrl>
。
これは、Firefox アドオン SDK を使用して構築された空の hello world 拡張機能でも再現可能です。
cfx init
cfx xpi --update-url https://fooo.com/update.rdf
次に、WinRAR を使用して XPI を解凍しC:\test-extension
、次のレジストリ キーの下に文字列値を追加します。
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Firefox\Extensions\
(生成された拡張 ID)という名前の文字列値jid1-W2S1bxv6O1LoAA@jetpack
を使用して、解凍された XPI を含むフォルダーを指します。
レジストリ値の名前: jid1-W2S1bxv6O1LoAA@jetpack
値: C:\test-extension
次に、Firefox を起動します。拡張機能が Firefox にインストールされます。アドオン マネージャーから、更新プログラムの確認を選択します。
のように指定された URL<updateURL>
にC:\test-extension\install.rdf
はアクセスされません。
完全を期すために、これはinstall.rdf
ファイルです (cfx から生成された出力から直接変更されていないデフォルト)。
<?xml version="1.0" encoding="utf-8"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>jid1-W2S1bxv6O1LoAA@jetpack</em:id>
<em:version>0.1</em:version>
<em:type>2</em:type>
<em:bootstrap>true</em:bootstrap>
<em:unpack>false</em:unpack>
<!-- Firefox -->
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>19.0</em:minVersion>
<!-- I tried also with maxVersion 25.* -->
<em:maxVersion>20.*</em:maxVersion>
</Description>
</em:targetApplication>
<!-- Front End MetaData -->
<em:name>TEST</em:name>
<em:description>a basic add-on</em:description>
<em:creator></em:creator>
<em:updateURL>https://mydomain.com/updates.rdf</em:updateURL>
</Description>
</RDF>
.xpi ファイルを Firefox にドラッグ アンド ドロップして手動でインストールすると、Check for Updates
アドオン マネージャーで呼び出したときに updateURL が期待どおりにチェックされます。
何か不足していますか?レジストリ経由でインストールされた拡張機能の更新は<updateURL>
サポートされていますか?