Chrome first run messages revisited – with added profiles
Hi All, and apologies for the unexpected hiatus. Would you believe we’ve been a little busy! Supporting David Acland’s efforts at the amazing MacADUK conference has made me realise that there’s still things I’ve picked up after the last few months that may well help other Mac Admins out there, so I’m back to blogging a bit more regularly (hopefully).
This blog was inspired by a conversation on the Mac Admins Slack instance about managing Google Chrome settings using a profile. Some of you may have read my last efforts which indeed did work, but always felt like a bit of bodge. Additionally, some of you may be aware of what might (and I stress, might) be coming up with the next few OS releases (read a few thoughts here) I thought it’d be a good idea to explore replacing my script with a configuration profile. The result is this blog.
Firstly, credit where credit is due…
I feel this is becoming a bit of a mantra, but a lot of what I do (if not all the community) is built on the work and ideas of others. The same is true here:
- The Mac Admins Slack #Profiles channel, for raising and exploring the idea
- @owen.pragel and @kmitnick from the Mac Admins Slack instance for providing their example profiles, upon which I have built my own
- @nick.mcspadden, again from the Mac Admins Slack instance for allowing me to bounce ideas off when I got stuck
Getting stuck in
Using the example Google Chrome configurations profiles provided, I managed to build one that (I felt) manages all the same settings as my previously deployed script. I’ve uploaded a copy to our public configuration profiles hosted on GitHub, with a link here. Simply change lines 42 and 47 to the homepage you wish and it’s all yours!
Does it work?
So, I’ve spun up a test VM (macOS Sierra 10.12.2 – I had it laying around) and installed Google Chrome (v56.0.2924.87 for those playing along at home) and launched Google Chrome for the first time.
Hmmm, not bad, just a little message about using the address bar as a search bar and it disappears after a few seconds. I can live with it. Otherwise, it’s a perfect result!
Now let’s test a bit more, VLC has a history of showing new popups after a second launch.
Damn, I now get a popup about Chrome not being able to auto-update itself, and this keeps coming back after every launch. I’ve clicked the “Don’t ask again” message and it does indeed go away.
Time to do some digging…
After some further testing, I’ve found this button sets a key in ~/Library/Application Support/Google/Chrome/Defaults/Preferences, under the ‘browser’ key of the following:
After more Slack advice, I checked out the Google Chrome list of policies (or profile keys for Macs), found here. However, there is no keys that in anyway relate to the key that Chrome sets in the user’s “Preferences” file. :SadPanda:
After further discussions in Slack, specifically with Nick McSpadden, this is known in the technical world as ‘A Thing’ and needs to be just dealt with outside of the Google supported method.
After even more digging, I came across this Jamf Nation post from last summer and includes a script (can also now be found in our public script GitHub repo. This script registers the Google Chrome Application with the Google Keystone auto-update service and stops that annoying popup!
But what if I don’t want Google Chrome to auto-update?
A legitimate question, especially if your needs include a Dev -> Testing -> Live workflow for patches / updates. We disable the auto updates by the Keystone service using a profile (found here) and deploying this out to your devices.
But what if I only want to set these settings (e.g. the Home Page) once?
I have tested deploying this profile using the ‘SetOnce’ key, which for most use cases would make a setting configured initially, but allow the user to change it. I’m afraid that the profile settings were completely ignored by Chrome. Your best bet in this scenario is to stick to my scripted method, or your current solution.
Wrapping it all up
What do you need to get things up and running?
- Packaged copy of Google Chrome (have you met my friend AutoPKG?)
- A copy of the “chrome-enable-autoupdates.py” python script from here
- This will need to be run after the Google Chrome package
- A copy of the Chrome profile “GoogleChrome_FirstRun”
- (Optional) A copy of the Keystone profile “disable_autoupdates_googlekeystone”
- Details of the supported Chrome Keys – https://www.chromium.org/administrators/policy-list-3
- Mac Admins Slack! – http://macadmins.org
And there you go, another possible method to manage your Google Chrome deployments, and hopefully one that is a bit more future proof!
Thanks for reading through the blog, and I’ll be posting more randomness soon!
As always, if you have any questions, queries or comments, let us know below (or @daz_wallace on Mac Admins Slack) and I’ll try to respond to and delve into as many as I can.
The usual Disclaimer:
While the author has taken care to provide our readers with accurate information, please use your discretion before acting upon information based on the blog post. Amsys will not compensate you in any way whatsoever if you ever happen to suffer a loss/inconvenience/damage because of/while making use of information in this blog.