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