Deploying Chrome Extensions via DMG

danny_gutman
New Contributor III

Trying to deploy extensions via DMG, but everytime I deploy it and I launch Chrome, the extension simply disappears from the folder... anyone have any idea why?

1 ACCEPTED SOLUTION

talkingmoose
Honored Contributor II

@danny.gutman, let's see if we can take advantage of one of Jamf Pro 10.19's new features to make this easier.

First, if you already have configuration profiles for Google Chrome but they don't include the ExtensionInstallForcelist key, then you can deploy this new configuration profile side-by-side with yours and it won't conflict.

  1. Copy the JSON Schema manifest here to your clipboard.
  2. In Jamf Pro, navigate to Computers > Configuration Profiles and click the New button to create a new profile. Name it something like "Google Chrome Extensions".
  3. In the list of payloads in the middle, scroll down to the Application & Custom Settings payload and click the Configure button.
  4. Choose Creation Method > Configure settings. Source > Custom Schema. Preference Domain: com.google.Chrome
  5. Paste the manifest into the Custom Schema field at the bottom of the window.
  6. Click the Properties tab.
  7. Click the Add Value button and enter the Extension ID in front of the text in the field (no spaces). You can Click the Add Value button to add more extensions.

11c8ab9f880e4f50b00fcd4f9af40773

Scope and save to deploy to your Macs. When you launch Google Chrome and view your extensions, you should see your new extension appear in just a few seconds.

View solution in original post

21 REPLIES 21

talkingmoose
Honored Contributor II

How are you trying to install the extension? I've found a configuration profile works best.

This one is for Okta, but you can use it as a guide. On your Mac, enable Developer mode in Google Chrome and you should see the extension's ID. Replace the one at the beginning of the value below, just before the semi-colon.

Domain: com.google.Chrome
Key: ExtensionInstallForcelist
Value: glnpjglilkicbckjpbgcfkogebgllemb;https://clients2.google.com/service/update2/crx

danny_gutman
New Contributor III

@talkingmoose, sure, I can find the extension ID, no problem, and I found the payload for the Config Profile.... but I'm not sure how to create the plist. I see the current plist for Google Chrome has values in it already.... does the plist I create overwrite those? Is the plist modified everytime I use Chrome?

talkingmoose
Honored Contributor II

@danny.gutman, let's see if we can take advantage of one of Jamf Pro 10.19's new features to make this easier.

First, if you already have configuration profiles for Google Chrome but they don't include the ExtensionInstallForcelist key, then you can deploy this new configuration profile side-by-side with yours and it won't conflict.

  1. Copy the JSON Schema manifest here to your clipboard.
  2. In Jamf Pro, navigate to Computers > Configuration Profiles and click the New button to create a new profile. Name it something like "Google Chrome Extensions".
  3. In the list of payloads in the middle, scroll down to the Application & Custom Settings payload and click the Configure button.
  4. Choose Creation Method > Configure settings. Source > Custom Schema. Preference Domain: com.google.Chrome
  5. Paste the manifest into the Custom Schema field at the bottom of the window.
  6. Click the Properties tab.
  7. Click the Add Value button and enter the Extension ID in front of the text in the field (no spaces). You can Click the Add Value button to add more extensions.

11c8ab9f880e4f50b00fcd4f9af40773

Scope and save to deploy to your Macs. When you launch Google Chrome and view your extensions, you should see your new extension appear in just a few seconds.

View solution in original post

HappyMarcus
New Contributor II

@talkingmoose A big thank you for your post, solved my issue deploying Chrome Remote Desktop which I had been struggling with for a while!

uafifi
New Contributor II

@talkingmoose Thanks !! I used your instructions to deploy a Grid Extension for Google Meet. Appreciate it

danny_gutman
New Contributor III

Absolutely brilliant @talkingmoose, thank you so much.

krispayne
Contributor

@talkingmoose is the updated link to the JSON this: https://github.com/talkingmoose/jamf-manifests/blob/master/Google%20Chrome%20Extensions%20(com.google.Chrome).json ?

talkingmoose
Honored Contributor II

Thanks, @krispayne! Yes, that's it. Did a little housekeeping and renamed it without thinking.

I've updated the link in my original reply but you can also find it here:

https://github.com/talkingmoose/jamf-manifests/blob/master/Google Chrome Extensions (com.google.Chro...

kaylalee44
New Contributor

@talkingmoose Thank you for your post! It was extremely helpful. I was also wondering if there's a way to deploy extensions for Firefox and Safari using this method?

AndreasRumpl
New Contributor III

@talkingmoose Thanks for the post - it made deploying a chrome extension a breeze!

Zeek
Contributor

Thanks @talkingmoose Works great. Now I am looking for a way to block extension.

SoundCloud
New Contributor II

Hi @talkingmoose This seems to be using force_installed as installation_mode, since I'm not able to remove the extension once it's installed.
How can I use normal_installed as installation_mode?

talkingmoose
Honored Contributor II

@SoundCloud, not sure what you mean by "force_installed" and "normal_installed". If you're referring to the old MCX settings of "Once", "Often" or "Always", Apple and Jamf only support profiles as "Always".

If you're referring to something else, point me in the right direction and I'll take a look.

SoundCloud
New Contributor II

Hi @talkingmoose Sorry, I didn't not explain properly, here is more context;

I am using your "Custom Schema" to deploy a Chrome extension, however the scheme is using the ExtensionInstallForcelist policy which apparently is setting the installation mode to:
force_installed - Automatically install extensions that you specify without user interaction. Users can’t disable or remove them. You also need to define the extension download location.

On the below link, It is mentioned that we could use the ExtensionSettings policy and use the installation mode normal_installed, which in this case will allow users to remove the extension if they want, however I couldn't make it running.

https://support.google.com/chrome/a/answer/7517624

VinV
New Contributor II

Hello @talkingmoose . Thank you I was able to push the extension. Now I am looking to remove the extension and then remove the configuration file created. Could you please help me with the steps?

talkingmoose
Honored Contributor II

@VinV, from what I see in my testing, simply removing the configuration profile and restarting the browser app will remove the extensions.

gkofos
New Contributor

Thanks for your help @talkingmoose quick question from me. Our proxy blocks access to the Chrome Web Store so any download of a chrome extension is blocked. Any idea what I would need to package and deploy along with the above Config Profile to make the extension work?

talkingmoose
Honored Contributor II

@gkofos, I'm not sure how easy Google is making manual deployments with the latest versions of Chrome. From what I've read, they're making it more difficult. My advice is to not fight any software developer when they're steering you down a certain path (in this case installing directly from the Chrome store).

I believe you can set a configuration profile to disable your end users from installing their own extensions. If you can do that, I would speak with your proxy folks, tell them you can manage the profiles that get installed and then ask they lift the block in the proxy.

Google may have other methods they endorse for installing extensions. I suggest following their guidance.

konrad_gondek
New Contributor

@talkingmoose thank you so much for your detailed explanation of how to push a Chrome extension via Jamf.

But now I would like to reverse it, so remove the same Chrome extension via Jamf. How can I do that?
EDIT: I was just blind, removing the configuration profile + restart Chrome worked!

donmontalvo
Esteemed Contributor II

Jamf should clone @talkingmoose, we need more of him. 🙂

--
https://donmontalvo.com

scottb
Valued Contributor III

Yep, we need a herd of mooses here!