26

我正在尝试在 Firefox 45 中安装扩展程序(Firefox 49 也是如此),但 Firefox 不允许我这样做,这表明

This add-on could not be installed because it appears to be corrupt. 

我尝试安装它的方式是将我们团队开发的 .xpi 文件拖到Firefox 窗口中。此扩展基于MozRepl,但有一些改进。

以前,我尝试安装它,但由于它没有签名(Firefox 版本从 43 开始的扩展需要签名),所以我不能安装它。根据这篇文章,我按照每个步骤进行签名:签署 XPI。我几乎可以肯定我可以正确签名,但现在 Firefox 显示的错误有所不同:“无法安装此插件,因为它似乎已损坏。”

在此处输入图像描述

似乎我没有正确创建 .xpi 文件,但我不确定它应该具有哪个正确的结构。我尝试了不同的文件夹结构,但没有成功。

另外,我检查了浏览器控制台以查看登录的错误,但我没有发现它真的有帮助。这里是:

在此处输入图像描述

是 .xpi 文件的链接,以供您查看其内容。请注意,我尝试将文件 manifest.mf、zigbert.rsa 和 zigbert.sf 移到 META-INF 文件夹之外,但它也不起作用。

有没有人在尝试安装插件时偶然发现这样的错误?对可能发生的事情有任何想法吗?

4

5 回答 5

14

.xpi文件必须使用“deflate”压缩或未压缩

Firefox 中的 zip 实现仅支持未压缩文件或使用“Deflate”算法压缩的文件。您将需要使用压缩方法“Deflate”而不是您当前使用的“LZMA”来创建.zip存档。如何执行此操作将取决于您用于创建存档的工具。

就个人而言,我使用批处理文件/shell 脚本来创建.xpi文件,正如我在对“ Firefox 扩展 .xpi 文件结构:描述、内容、创建和安装”的回答中详细描述的那样。基础是我使用zip默认为“放气”或未压缩的命令行工具。我使用该-1选项来提供最快的压缩。Firefox/Mozilla 使用.xpi文件既可以打包文件,也可以提高文件访问速度。重要的质量不是高压缩比,而是可以快速访问文件。除非 Firefox 不是 WebExtension 并且通过install.rdf选项明确告知解压插件<em:unpack>true</em:unpack>(WebExtensions 没有install.rdf文件),加载项将作为.xpi文件安装,对加载项的所有访问都将作为.xpi文件。

注意:鉴于您的扩展包含.dll文件,您可能需要使用 .dll 解压缩安装的附加组件<em:unpack>true</em:unpack>

使用了错误的签名方法。它必须由 Mozilla 签名,而不是您自己。

虽然这不是您当前看到的错误,但一旦您解决了.xpi格式的问题,您就会遇到扩展名被错误签名签名的问题。您使用自己的签名签署了扩展程序。它不是由 Mozilla 签署的。这行不通。它必须由 Mozilla 签名,而不是您自己。您提到您按照 MDN 页面Signing an XPI中的说明进行操作。但是,正如该页面顶部明确指出的那样,该页面上的说明已过时且不再有效。您应该已经按照注释中的链接访问了Signing and distributing your add-on页面。页面顶部的注释指出:

注意:这些说明已过时。要在 Firefox 中运行的扩展程序必须由 Mozilla 签名,而不是您自己。请参阅签署和分发您的附加组件。[强调补充]

Stack Overflow 上也有很多关于签名问题的问题。

于 2016-10-04T15:53:18.170 回答
9

就像其他答案中所说的那样,它发生在未验证/未签名的扩展上。

但有时为了测试,您可能想要使用未验证/未签名的扩展。作为在 Firefox 版本 45 上安装未验证/未签名扩展的黑客/解决方法:

  1. 启动 Firefox 并点击 - about:config
  2. 搜索“xpinstall.signatures.required”
  3. 双击该行或将值设置为 false 并关闭

现在重试安装扩展程序,它应该可以工作。

于 2017-06-30T09:53:35.303 回答
6

我认为有些事情没有明确记录,我想分享我的经验。

  1. 开发了我的扩展并zipped 所有文​​件
  2. 选择步骤并上传On your ownAMOHow to Distribute this Version.zip
  3. 然后,在下一页上,我看到了一个.xpi可供下载的签名文件。我下载了它并尝试通过“about:addons -> Install Add-on from file”安装
    1. 在这种情况下我得到corrupt add-on错误
  4. 收到来自 的电子邮件后amo-editors@mozilla.org,我转到我的附加组件页面并单击.xpi那里的文件链接,它起作用了!

在此处输入图像描述

于 2017-08-19T00:22:18.147 回答
5

当我压缩包含我的插件的文件夹而不是压缩其中的文件时,我遇到了这个问题。

不要压缩清单的父文件夹

截屏

例如,在 Windows 上 CTRL+单击您的清单和任何其他文件或子文件夹;右键单击并选择Send to > Compressed Folder,你应该很高兴。

注意:从浏览器控制台屏幕截图中我们可以看出这不是本例中的问题,但即便如此,这也是该This add-on could not be installed because it appears to be corrupt错误的常见问题。

于 2019-01-21T12:47:51.107 回答
0

当尝试安装任何 Thunderbird 附加组件时开始出现“无法安装从该站点下载的附加组件,因为它似乎已损坏”错误消息时,这是一个切线问题的答案。还有一些其他网站已经提出了这个切线问题,但页面已存档:

由于这里的这个问题仍然允许回复,只是想补充一点,如果用户的本地 Thunderbird 配置文件以某种特定方式损坏,所有附加组件偶尔会开始发生这种情况。

在这种情况下,我建议在“安全模式”下重新启动 Thunderbird,通过“帮助”->“在禁用附加组件的情况下重新启动...”禁用所有附加组件,然后通过“帮助”重新启动回到“常规”模式" -> "在启用加载项的情况下重新启动"。之后,附加组件的安装可能会再次起作用。

尽管这不是此特定问题的答案,但希望此提示对遇到此特定切线但类似情况的人有所帮助。

于 2021-08-15T03:27:13.650 回答