如何为 Firefox +45.0.1 正确重建 .xpi 文件?

How to properlly rebuild a .xpi file for Firefox +45.0.1?

我想强制 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 时经常发生的情况:

上图的西班牙语错误消息说:

This addon cannot be installed because seems damaged.

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

更新

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

那么我需要如何编辑 Install.rdf 文件来避免 "corrupting" 这个新 Firefox 的 xpi 包?

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

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

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

您将遇到扩展未签名的问题。 Firefox 将因此拒绝加载它。快速的解决方案是在 about:config 中将 xpinstall.signatures.required 设置为 false。但是,这仅在 Firefox 的 release and beta versions of Firefox until the next version update, or so. When exactly changing that option will no longer work is not clear. Turning off the availability of that option in the release and beta versions of Firefox has been a moving target, but the change is coming very soon. The option should continue to work in the Developer Edition 中有效。

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