【问题标题】:How to properlly rebuild a .xpi file for Firefox +45.0.1?如何为 Firefox +45.0.1 正确重建 .xpi 文件?
【发布时间】:2016-04-03 21:59:43
【问题描述】:

我想强制 FastDial 兼容新的 Firefox 4.5.0.1 和其他扩展。

我过去为很多插件做过这个,我知道程序... xpi 只是一个 zip 文件,当提取它们的内容时,你会找到一个名为 Install.rdf,包含这一行:

<em:maxVersion>X.0</em:maxVersion>

然后设置所需的版本,并重新压缩 Zip,并将 .zip 扩展名更改为 .xpi。

但是,该方法不适用于 Firefox 45.0.1 (x86)。

这是尝试使用已知方法安装重建的 xpi 时总是发生的情况:

上图的西班牙语错误信息是:

此插件似乎已损坏,无法安装。

那么...这个该死的 Firefox 4.5.0.1 发生了什么变化,它不接受我们重建的插件?。

更新

我注意到问题出在 Install.rdf 文件上,如果我不更改 &lt;em:maxVersion&gt;...&lt;/em:maxVersion&gt;,那么我可以正确地重新压缩包并且它被这个新的 Firefox 识别。

那么我需要如何编辑 Install.rdf 文件以避免“损坏”这个新 Firefox 的 xpi 包?。

我尝试使用 Wordpard 来编辑 rdf 文件,我也尝试过 Sublime Text,使用和不使用 BOM (UTF-8) 保存文件,并重新压缩我使用 WinRar 的包(我一直使用 WinRar 来做),当然,将其保存为 Zip,而不是 RAR。

【问题讨论】:

    标签: firefox firefox-addon zip compression xpi


    【解决方案1】:

    Mozilla 为 Firefox are signed by Mozilla 分发的所有扩展。包含签名的文件位于扩展顶级目录中的META-INF 目录中。这些签名文件用于验证扩展程序未被 Mozilla 审查和分发的内容修改。

    要解决您看到的错误,您需要删除该目录及其内容。

    然后您将遇到扩展未签名的问题。 Firefox 会因为这个原因拒绝加载它。对此的快速解决方案是在about:config 中将xpinstall.signatures.required 设置为false。但是,这只会在 Firefox 的releasebeta 版本中有效,直到下一个版本更新,或左右。 确切何时更改该选项将不再起作用尚不清楚。在 Firefox 的发行版和测试版中关闭该选项的可用性一直是一个不断变化的目标,但这种变化很快就会到来。该选项应该在 Firefox 的 Developer Edition 中继续有效。

    除了这些选项之外,您还需要有 new 扩展程序,该扩展程序是您通过进行任何更改创建的,并由 Mozilla 签名。您必须将其视为一个新的扩展(即您必须为其创建一个新 ID)。一些有助于确定扩展程序退出的资源(这将是一个不同的问题)是:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 2012-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多