SOLVED

How do I deploy custom (in-house) Chromium Edge extensions to my organization?

Brass Contributor

We're in the process of moving our organization to the new (Chromium) Edge, and we are developing a custom extension we want to deploy to the users in our organization.

 

How do we go about deploying the extension to our users? 

 

The only information I've found talks about publishing the extension in the public Edge Addons Catalog, which requires a partner account and is more fitting for publicizing the extension. Seems a bit much, and we don't want users outside our organization using this extension.

16 Replies

@Andrew Colombino Thanks for reaching out with that great question. We'll loop the Enterprise extension team in and let you know if they have any suggestions.

 

Fawkes (they/them)
Project & Community Manager - Microsoft Edge

best response
Solution

@Andrew Colombino - If you do not want to publish your extension to store (as hidden as well), the other option is to host the extension in a location within your network that is accessible to all users' devices & use the extension install source policy (which allows you to set the network location from where the extension can be picked up) along with force install policy to deploy the extension.

 

Here is the policy documentation for your reference:
Extension install sources - https://docs.microsoft.com/en-us/DeployEdge/microsoft-edge-policies#extensioninstallsources

Force install policy - https://docs.microsoft.com/en-us/DeployEdge/microsoft-edge-policies#extensioninstallforcelist

 

Let us know if you have any other questions!

 

Thanks!

Thank you @Balaje_Krishnan and @Deleted!

 

That's very helpful!

@Balaje_Krishnan Thank you for the awesome reply. The instructions were great, the one issue that we are having here is updating extensions right now. We put in an updated version at the site and when close/open the browser, or even hit "Update" in the extensions page the extension isn't updating. 

 

One question I did have regarding the update_url. Is that actually pointing the crx file or is that supposed to be an xml file. If so, what's the standard xml file? I've seen the chrome version, which I copied and seems like it can work, but that's where I'm thinking we are having issues right now. 

 

The only way I can get extensions to update is by going to a link and clicking the link, but that doesn't work when we use forceinstall. Of course if we are using forceinstall we would like it to auto update. 

 

Thanks.

 

Jamie

Hi Balaje_Krishnan,
Can you guide me how i can install extension to users who don't have internet.
Can you please advise the steps. I have generated the CRX file and kept it on a network location and tried to configure the extension install source policy & force install policy. But it is not working. Can you help on this.

Hi, is there detailed documentation on how to self-host extensions? I have tried a few times now with an internally hosted crx, setting policy as documented and although I see the browser retrieve the crx (i see it in the access log of the webserver hosting the crx) it doesn't install. There is nothing in the event log, no kind of info on troubleshooting this at all.

If I point my browser at the url for the crx the browser gives me the following error:

 

DeltaWasp_0-1618575332176.png

 

additionally:
crx manifest contains update_url pointing at xml file for updates.
crx was packed using private key pem and the id of the crx is based on that.

@DeltaWasp Hello!  We just published an article about self-hosting extensions.  Please see: Self-host Microsoft Edge extensions | Microsoft Docs

 

Hopefully this will help!  Let us know if there are any questions.  

 

-Kelly

@Kelly_YHi I'm not having any luck with this. I'm using the Nasa Picture of the day example code from your github page here.

I am able to load it unpacked, and it works when clicking on the extension icon. I then pack it and remove the unpacked version. Your document states that I should then be able to drag the resultant .crx file onto the edge://extensions screen and it look something like this:

 

DeltaWasp_0-1618847243858.png

When I try this with the crx created from your code I get a disabled extension and an error:

DeltaWasp_1-1618847392254.png

 

I'm on a domain-joined machine, I have Edge 89.0.774.77. My group policy options for Edge extensions are all set to not configured:

DeltaWasp_2-1618847768157.png

In the edge://extensions screen I have the following options enabled:

 

DeltaWasp_3-1618847862820.png


Your help is appreciated.

 

 

 

@DeltaWasp Hi!  Sorry to hear it's not working!  I'm adding @ashishpoddar from the Extension Team to the thread to take a look at the error.  Thanks! 

 

-Kelly

I've done that in group policy, performed a gpupdate and can now succesfully drag the locally packaged crx file onto the edge://extensions page and I no longer get the error. I'd suggest updating your doc with that detail.

Thanks

Thanks

Thanks for confirming, I have submitted a PR to update the documentation, the change should be live soon.

I am also stuck at the "CRX_REQUIRED_PROOF_MISSING" step. I've been playing quite a lot with regedit to no avail. I must be missing a part of the procedure. Can anyone help ?
1 best response

Accepted Solutions
best response
Solution

@Andrew Colombino - If you do not want to publish your extension to store (as hidden as well), the other option is to host the extension in a location within your network that is accessible to all users' devices & use the extension install source policy (which allows you to set the network location from where the extension can be picked up) along with force install policy to deploy the extension.

 

Here is the policy documentation for your reference:
Extension install sources - https://docs.microsoft.com/en-us/DeployEdge/microsoft-edge-policies#extensioninstallsources

Force install policy - https://docs.microsoft.com/en-us/DeployEdge/microsoft-edge-policies#extensioninstallforcelist

 

Let us know if you have any other questions!

 

Thanks!

View solution in original post