gpt4 book ai didi

javascript - 通过注册表安装的 Firefox 附加组件是否可以使用 updateURL?

转载 作者:行者123 更新时间:2023-11-30 05:42:11 25 4
gpt4 key购买 nike

我已经使用 Add-On SDK 构建了一个 Firefox 扩展,并通过注册表项强制安装它。 (通过 HKLM\Software\Mozzilla\Firefox\Extensions\extensionid )

当我转到加载项管理器并选择“检查更新”时,它不会向 <updateUrl> 中指定的 url 发出请求。 .有请求发出 https://versioncheck.addons.mozilla.org/ ...但不适用于我在 <updateUrl> 中指定的自定义网址.

这也可以通过使用 Firefox Add-On 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\ 

带有一个名为 jid1-W2S1bxv6O1LoAA@jetpack 的字符串值(生成的扩展 ID)指向包含解压 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>

当我通过拖放到 Firefox 中手动安装 .xpi 文件时,当我调用 Check for Updates 时会按预期检查 updateURL。在加载项管理器中。

我错过了什么吗?是否通过 <updateURL> 更新支持通过注册表安装的扩展吗?

最佳答案

通过 Windows 注册表安装是 locked ,因此附加组件不被视为可升级。与配置文件中的附加组件不同,此类位置被认为是外部的,不受应用程序控制,用户很可能无法升级附加组件(只有系统管理员可以)。

通过系统位置的注册表安装的附加组件必须提供自己的升级机制。

关于javascript - 通过注册表安装的 Firefox 附加组件是否可以使用 updateURL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20193991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com