无法通过组策略部署自托管扩展

概要

本文提供了指导,可帮助你排查自承载扩展无法通过组策略部署的问题。 即使你配置了策略,该扩展也可能不会针对目标用户显示。 本文介绍此问题的常见原因,包括组策略配置不正确、Web 服务器上的内容类型标头缺失或不正确,以及扩展清单或更新清单 XML 文件无效。 它还提供解决每个原因的步骤。

症状

使用组策略 ExtensionInstallForcelistExtensionSettings 策略将浏览器扩展部署到 Microsoft Edge 时,部署会失败,并且该扩展不会显示在 edge://extensions 目标用户的页面上。

但是,如果通过启用.crx将同一扩展包(edge://extensions文件)手动拖动到页面上,则扩展会成功安装。

原因 1:组策略配置不正确

出现此问题的原因是组策略 ExtensionInstallForcelistExtensionSettings 策略配置不正确。

解决方案:验证和更正组策略配置

使用以下文档验证和更正组策略扩展配置:

原因 2:.crx文件的内容类型标头不正确

在内部 HTTP 或 HTTPS 服务器上托管扩展,并且服务器不返回文件的正确 内容类型 标头 .crx 时,扩展部署将失败。

.crx如果文件未使用标头提供服务,Content-Type: application/x-chrome-extensionMicrosoft Edge 和其他基于 Chromium 的浏览器不会将该文件视为可安装的扩展包(如果该文件作为组策略安装流的一部分下载)。

因此,策略会被处理,但浏览器不会悄然安装扩展程序。

解决方案:将 Web 服务器配置为返回正确的内容类型

将 Web 服务器配置为返回文件的正确值Content-Type.crx。 扩展包的 HTTP 响应必须包含以下标头:

Content-Type: application/x-chrome-extension

配置此标头后,通过策略下载时,Microsoft Edge 会将.crx文件识别为可安装扩展。

示例:在 IIS 上配置 MIME 映射

  1. IIS 管理器中,选择承载扩展的目标站点。
  2. 双击 MIME 类型
  3. “操作”窗格中,选择添加...
  4. 文件扩展名 设置为 .crx.
  5. MIME 类型 设置为 application/x-chrome-extension.
  6. 选择 “确定”,然后根据需要重启网站或应用程序池。

原因 3:扩展清单无效或更新清单 XML

manifest.json 中的扩展元数据无效,如以下示例所示:

  • version 字段 manifest.json 使用无效格式(例如 1.0-beta ,或其他非数字字符)。
  • 用于自承载更新的 更新清单 XML 包含无效或不一致的值(例如,不匹配的版本号或格式不正确的 XML)。

在某些情况下,手动拖放安装可能会成功。 但是,基于策略的安装或自动更新可能会失败。

解决方案:验证和更正扩展清单

请按照 Chrome 文档验证和修正扩展清单文件或更新清单文件的 XML(也适用于 Microsoft Edge 和其他基于 Chromium 的浏览器):

第三方信息免责声明

本文讨论的第三方产品由独立于微软的公司制造。 Microsoft对这些产品的性能或可靠性不作任何明示或暗示的保证。