【发布时间】:2012-08-23 04:38:40
【问题描述】:
场景: 1. 使用 CRX Manifest Format 1 构建并内联安装的旧插件 2. 使用 CRX Manifest Format 2 构建并从 Chrome Webstore 安装的新插件
问题: 扩展 ID 已更改,因此安装不被视为升级。相反,这两个插件都是在安装第二个之后安装的。
详情: 由于 Chrome 21 中更严格的插件管理以及向 Extension Manifest Format 2 的迁移,我将一个曾经内嵌安装的插件转换为从 Chrome 网上商店中提取的插件。但是我遇到了一个问题 - 插件的 ID 以前由清单 JSON 文件中的一个字段确定,现在它是由商店自动生成的,并且不同了。因此,我的新版本插件不会被视为更新,我最终安装了两个版本的插件。有什么方法可以防止这种行为吗?
这种情况让我想起了 RPM 安装中的类似情况,当您更改 RPM 的名称但仍想保留其升级行为时会发生这种情况。在这种情况下,您可以使用“Provides”或“Obsoletes”字段。 CRX 构建过程是否提供类似的功能?基本上我想指出插件 ID B 正在替换插件 ID A。
【问题讨论】:
标签: google-chrome-extension chrome-web-store