Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Summary
This article provides guidance to help you troubleshoot when a self-hosted extension fails to deploy through Group Policy. The extension might not appear for the target user even though you configured the policy. This article covers the common causes of this problem, including incorrect Group Policy configuration, missing or incorrect Content-Type headers on the web server, and invalid extension manifest or update manifest XML files. It also provides steps to resolve each cause.
Symptoms
When you deploy a browser extension to Microsoft Edge by using the Group Policy ExtensionInstallForcelist or ExtensionSettings policy, the deployment fails, and the extension doesn't appear on the edge://extensions page for the target users.
However, if you manually drag the same extension package (.crx file) onto the edge://extensions page by having Developer mode enabled, the extension installs successfully.
Cause 1: Incorrect group policy configuration
This problem occurs because the Group Policy ExtensionInstallForcelist or ExtensionSettings policy is configured incorrectly.
Solution: Verify and correct the Group Policy configuration
Verify and correct the Group Policy extension configuration by using the following documentation:
Cause 2: Incorrect Content-Type header for the .crx file
When you host the extension on an internal HTTP or HTTPS server, and the server doesn't return the correct Content-Type header for the .crx file, the extension deployment fails.
If the .crx file isn't served by using the header, Content-Type: application/x-chrome-extension, Microsoft Edge and other Chromium-based browsers don't treat the file as an installable extension package if it's downloaded as part of the Group Policy installation flow.
As a result, the policy is processed, but the browser doesn't silently install the extension.
Solution: Configure the web server to return the correct content type
Configure the web server to return the correct Content-Type for .crx files. The HTTP response for the extension package must include the following header:
Content-Type: application/x-chrome-extension
After you configure this header, Microsoft Edge recognizes the .crx file as an installable extension when it's downloaded through the policy.
Example: Configure MIME mapping on IIS
- In IIS Manager, select the target site that hosts the extension.
- Double-click MIME Types.
- In the Actions pane, select Add….
- Set File name extension to
.crx. - Set MIME type to
application/x-chrome-extension. - Select OK, then recycle the website or application pool, if it's necessary.
Cause 3: Invalid extension manifest or update manifest XML
The extension metadata in manifest.json or in the update manifest XML is invalid, such as in the following examples:
- The
versionfield inmanifest.jsonuses an invalid format (for example,1.0-betaor other non-numeric characters). - The update manifest XML that's used for self-hosted updates contains invalid or inconsistent values (for example, mismatched version numbers or malformed XML).
In these cases, manual drag-and-drop installation might succeed in some scenarios. However, policy-based installation or automatic updates might fail.
Solution: Validate and correct the extension manifests
Validate and correct the extension manifest or update manifest XML by following the Chrome documentation (applies also to Microsoft Edge and other Chromium-based browsers):
Related content
Third-party information disclaimer
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.