Need help with deployment of Google chrome extension using jss

MACNewbee
New Contributor

We are trying to automate the installation of google chrome extension on version 70..(64-bit). We have the unpacked version available which we are able to import manually from chrome://extensions in the developer mode.
We are trying to follow the steps as per the below link without success https://developer.chrome.com/extensions/external_extensions

We also have referred the discussions around chrome extension in this forum but could not move forward

We want to know the best practices to deploy chrome extension on mac using jss.

Thanks in advance

11 REPLIES 11

ryan_ball
Valued Contributor

If the extension is from the Chrome Web Store, then you can force install it with a custom Configuration Profile.

The payload would be "Custom Settings:
The preference domain would be "com.google.Chrome"

For uBLock Origin, the plist text would be:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ExtensionInstallForcelist</key>
    <array>
        <string>cjpalhdlnbpafiamejdnhcphjbkeiagm;https://clients2.google.com/service/update2/crx</string>
        <string>cjpalhdlnbpafiamejdnhcphjbkeiagm</string>
    </array>
</dict>
</plist>

Replace cjpalhdlnbpafiamejdnhcphjbkeiagm with the ID of the extension you wish to install which is in the URL of the extension.

MACNewbee
New Contributor

Thank you @ryan.ball for your prompt response. We have two scenarios and would try to implement using the above suggested method in our environment.
- Install the .crx (or unpacked version) in local machine and then use the same local path for loading the extension.
- In this second scenario there is an xml file pointing to the chrome extension (developed internally)
Hopefully this works !!!

colton_langdon
New Contributor

Thanks for the help @ryan.ball , the instructions you posted worked perfect in the custom Configuration Profile.

FutureFacinLuke
Contributor II

Thanks, that worked but only after I quit and relaunched Chrome the second time.

Nice easy way to do it!

gmorgan
New Contributor III

Thanks guys! I was in this ballpark and having issues. Maybe my syntax was off or something, but I used yours and it worked great!

panoptic
New Contributor

Hi I uploaded plist with Grammarly extention but wheni open Chrome extention is not bein installed.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict> <key>ExtensionInstallForcelist</key> <array> <string>kbfnbcaeplbcioakkpcpgfkobkghlhen;https://clients2.google.com/service/update2/crx</string> <string>kbfnbcaeplbcioakkpcpgfkobkghlhen</string> </array>
</dict>
</plist>

panoptic
New Contributor

got it to work did new plist file uploaded it and after i launched chrome Grammarly ext was enabled and installed

gachowski
Valued Contributor II

FYI,

You can only use each key once in Chrome.. if you get asked to force install another extension, then you have to add that to your current Grammarly one and then pull the old profile and then install the new profile with the two extensions.

If you try and send a second extension with a second profile only one will work, I forgot if it's the 1st one or the second one as I was so angry about the time it took me to figure it out... : )

Hope this helps :)

sanbornc
New Contributor III

Any idea how to do this on Firefox?

m_donovan
Contributor III

Rexatbbva
New Contributor II

Thought I would provide my experience with this as well. Prerequisites:
- XCode installed
- download Chrome bundle for Windows 64-bit (zip file)
- Extension IDs in PLAIN TEXT file for copy / paste (example)

gmbmikajjgmnabiglmofipeabaddhgne;https://clients2.google.com/service/update2/crx
  1. Unpack the Windows Bundle zip file (it creates GoogleChromeEnterpriseBundle64 folder)
  2. Navigate to "<extractionfolder>/GoogleChromeEnterpriseBundle64/Configuration/"and move or copy / paste in whichever folder you wish to work.
  3. Open the extracted com.google.Chrome.plist file with XCode
  4. Turn the pulldown for the "Extensions" attribute
  5. add line for each extension you want to add with the correct string for each identifier
  6. save the file
  7. Create and name the configuration profile
  8. Select site/category/distribution method/level desired
  9. Select Application & Custom Settings > Configure
  10. Select "Upload File(PLIST file)
  11. set preference domain to "com.google.Chrome" Upload the file, set a test scope and apply.