Deploying Chrome Extensions - Help!

tld75000
New Contributor II

Hi Everyone

I've been having some issues the last week trying to force install chrome extensions using Jamf.

Basically, my boss has asked me to install a chrome extension on all users machines that will change the "New Tab" page on chrome to our companys intranet. Ideally I want to not only install the extension but make sure it is also pointing towards our Intranet address already.

I have tried capturing the installation (I'm trying with one called "new tab changer") of the chrome extension using composer, But have not had any success with the Extension actually installing to chrome once I have rolled out the DMG file. All the files appear in the extensions folder as expected, the extension just doesn't appear on Chrome.

I have also tried the following guide -

https://jiveassadmin.wordpress.com/2014/07/31/how-to-force-install-chrome-extensions-using-jamf-casper-suite/

But I can't upload the chrome manifest file to Jamf as directed - It says "No Settings were found" when I try this.

Has anyone had any success doing this? Any advice would be great.

2 REPLIES 2

tld75000
New Contributor II

p.s I am aware you can force install chrome extensions using Google Apps Admin - Which I have tried, but A. The users need to be signed into chrome for this to work, which not all our users do. and B. I would still need to use Jamf to add the intranet address to the extension, Which I have tried to do (using composer), but have had no success.

Merkley
New Contributor III

I've had success creating a custom configuration profile that will force install a chrome extension. I have not however played with setting any settings for an installed extension. You can look at the settings you can set using a configuration profile by going to this site. There is an option on that site that says you can set the new tab behavior, but it doesn't work. That site lists a bunch of other things you can manage with a configuration profile as well.

I've included an example configuration profile that you can use as a template to get started. You would create this configuration profile and upload it to the JSS. I had a hard time figuring out how to get the force install to work because you have to get the last bit of the extension URL and the chrome extension update site.

<?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>PayloadIdentifier</key>
    <string>com.company.profile.chrome</string>
    <key>PayloadRemovalDisallowed</key>
    <true/>
    <key>PayloadScope</key>
    <string>System</string>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>2016-09-12-07-13</string>
    <key>PayloadOrganization</key>
    <string>Your Company</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
    <key>PayloadDisplayName</key>
    <string>Google Chrome Policy</string>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>PayloadType</key>
            <string>com.apple.ManagedClient.preferences</string>
            <key>PayloadVersion</key>
            <integer>1</integer>
            <key>PayloadIdentifier</key>
            <string>com.normandale</string>
            <key>PayloadUUID</key>
            <string>121-qasd</string>
            <key>PayloadEnabled</key>
            <true/>
            <key>PayloadDisplayName</key>
            <string>Custom: (com.google.Chrome)</string>
            <key>PayloadContent</key>
            <dict>
                <key>com.google.Chrome</key>
                <dict>
                    <key>Forced</key>
                    <array>
                        <dict>
                            <key>mcx_preference_settings</key>
                            <dict>
                                <key>ExtensionInstallForcelist</key>
                                <array>
                                    <string>CHROME EXTENSION;https://clients2.google.com/service/update2/crx</string>
                                </array>
                            </dict>
                        </dict>
                    </array>
                </dict>
            </dict>
        </dict>
    </array>
</dict>
</plist>

So where I have the ExtensionInstallForceList it should look like this, the example below is the Ardusat Chrome App:
<key>ExtensionInstallForcelist</key>
<array> <string>gdclcnobolflddkbmimlehkcopmcnmfj;https://clients2.google.com/service/update2/crx</string>
</array>

From what I've read, the update site doesn't change for extensions that are downloaded from the Chrome Web Store. Again, I don't know if you can manage the actual extension from this, as I haven't tried. This would atleast get you one step closer and it doesn't require the user to be in their Google Work account. You can create this configuration profile as a computer level profile and it just get installed for everyone on that computer.