解决 Chrome 下载 `.crx` 文件被自动删除及“无法安装扩展程序,因为它使用了不受支持的清单版本”问题

解决 Chrome 下载 `.crx` 文件被自动删除及“无法安装扩展程序,因为它使用了不受支持的清单版本”问题

一、问题背景

在开发、测试或使用某些离线 Chrome 扩展时,用户常遇到两类典型问题:

  1. 下载 .crx 文件后几秒内被系统或浏览器自动删除
  2. 尝试通过“加载已解压的扩展程序”安装时,提示:

    “无法安装扩展程序,因为它使用了不受支持的清单版本。无法加载清单。”


二、问题一:.crx 文件下载后被自动删除

原因分析

  • 自 Chrome 33 起,Google 禁止直接安装非 Web Store 来源的 .crx 文件。
  • Windows Defender 或其他杀毒软件可能将 .crx 识别为潜在风险文件并自动隔离。
  • Chrome 的“安全浏览”功能会主动清理可疑下载项。

✅ 推荐解决方案:改后缀 + 解压加载(通用且安全)

  1. 开启下载确认提示
    进入 Chrome 设置 → 隐私和安全 → 下载内容,勾选 “下载前询问每个文件的保存位置”

  2. 手动重命名后缀
    下载 .crx 时,在保存对话框中将文件名从 xxx.crx 改为 xxx.zip,再点击“保存”。

  3. 解压并加载扩展

    • 解压 .zip 文件到任意文件夹;
    • 访问 chrome://extensions/
    • 开启右上角 【开发者模式】
    • 点击 【加载已解压的扩展程序】,选择解压目录。

💡 此方法绕过了 Chrome 对 .crx 的签名验证和来源限制,适用于所有现代 Chrome 版本。


三、问题二:“无法安装扩展程序,因为它使用了不受支持的清单版本”

核心原因

  • 扩展的 manifest.json 中声明了 "manifest_version": 2(即 Manifest V2);
  • 自 Chrome 112 起,Google 逐步弃用 MV2;
  • 自 Chrome 138(预计 2025 年中发布)起,MV2 扩展完全不可加载,无论通过何种方式。

📌 当前时间:2025年11月11日。主流 Chrome 稳定版已普遍 ≥ 138,MV2 已正式终结


四、针对 Manifest V2 兼容性的完整解决方案(按 Chrome 版本分类)

✅ 方案 A:使用 Chrome 实验性 Flag(仅限 Chrome 112 – 137)

这是最简单的临时方案,适合仍在使用旧版 Chrome 的用户。

操作步骤:
  1. 在地址栏输入:
    chrome://flags/#allow-legacy-mv2-extensions
    
  2. 找到 “Allow legacy extension manifest versions” 选项;
  3. 将其设置为 Enabled
  4. 重启浏览器
  5. 再次尝试加载 MV2 扩展。

⚠️ 注意事项:

  • 此 flag 仅在 Chrome 112 至 137 版本中存在
  • Chrome 138+ 已彻底移除该 flag,访问链接将显示“未找到”;
  • 即使启用,部分企业策略或安全组策略仍可能覆盖此设置。

✅ 方案 B:通过企业策略启用 MV2(Windows,仅限 ≤ Chrome 137)

适用于 IT 管理员或需批量部署的场景。

注册表配置(Windows):
  1. 打开注册表编辑器(regedit);
  2. 导航至:
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies
    
  3. 依次创建项:GoogleChrome
  4. Chrome 下新建 DWORD (32-bit) 值,命名为:
    ExtensionManifestV2Availability
    
  5. 设置值为:
    • 1:允许用户控制(推荐);
    • 2:强制启用(管理员策略);
  6. 重启 Chrome,访问 chrome://policy/ 验证策略生效。

🔒 此方法在 Chrome 138+ 同样失效,Google 已硬编码禁用 MV2。


✅ 方案 C:升级扩展至 Manifest V3(长期唯一可靠方案)

若你拥有扩展源码或可修改权限,强烈建议迁移到 Manifest V3。

基本迁移步骤:
  1. 编辑 manifest.json
    {
      "manifest_version": 3,
      "name": "My Extension",
      "version": "1.0",
      "background": {
        "service_worker": "background.js"
      },
      "permissions": ["storage", "activeTab"]
    }
    
  2. 将原 background.scripts 替换为 service_worker
  3. 移除 web_a***essible_resources 中的通配符写法;
  4. 使用 chrome.action 替代 chrome.browserAction
  5. 测试功能完整性。

📘 官方迁移指南:Migrate to Manifest V3


✅ 方案 D:改用 Firefox 浏览器(终极替代方案)

  • Firefox 仍全面支持 Manifest V2,且允许加载本地 .xpi 或解压扩展;
  • 对于 Dark Reader、SwitchyOmega、Tampermonkey 等经典插件,Firefox 版本通常维护良好;
  • 若工作流严重依赖 MV2 插件,可考虑将 Firefox 作为主力开发/测试浏览器。

五、总结与建议

场景 推荐方案
Chrome < 138,临时使用 MV2 插件 启用 chrome://flags/#allow-legacy-mv2-extensions
Chrome < 138,企业环境/批量部署 配置注册表策略 ExtensionManifestV2Availability
Chrome ≥ 138(当前主流版本) 必须升级到 Manifest V3改用 Firefox
避免 .crx 被删 下载时改 .crx.zip,解压后加载

❗重要提醒:
Google 已明确表示 Manifest V2 将不再回归。任何依赖 MV2 的业务系统、自动化工具或内部插件,都应尽快启动迁移计划。


六、附录:如何查看 Chrome 版本?

  1. 地址栏输入:chrome://version
  2. 查看第一行 “Google Chrome” 后的版本号(如 138.0.7200.100

若版本 ≥ 138,请直接采用 方案 C 或 D


参考文献

  • Chrome Extensions: Manifest V3 Migration Guide
  • Chromium Blog: Sunsetting Manifest V2
转载请说明出处内容投诉
CSS教程网 » 解决 Chrome 下载 `.crx` 文件被自动删除及“无法安装扩展程序,因为它使用了不受支持的清单版本”问题

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买