Chrome Master Preferences File and Suppressing First Run Browser

sputnam
New Contributor

I've been very impressed with Google Chrome Master Preferences options but have not been able to get Chrome to suppress the first run browser setting using this feature. More details can be found here: http://www.chromium.org/administrators/configuring-other-preferences
Has anyone gotten this to work successfully? I believe it might be a Google bug, but I haven't found anything conclusive. I've validated my JSON code and am seeing the other settings take, just not that particular one. Here is my Preferences code:

{ 
  "homepage" : "http://www.mysite.com", 
  "homepage_is_newtabpage" : false, 
  "browser" : { 
    "show_home_button" : false, 
    "check_default_browser" : false
  },
  "bookmark_bar" : { 
    "show_on_all_tabs" : false
  }, 
  "sync_promo" : {
    "show_on_first_run_allowed": false
  },
  "distribution" : {
    "auto_launch_chrome": false,
    "import_bookmarks": false,
    "import_history": false,
    "import_home_page": false,
    "import_search_engine": false,
    "show_welcome_page": false,
    "skip_first_run_ui": true,
    "suppress_first_run_bubble": true,
    "do_not_create_desktop_shortcut": true,
    "do_not_create_quick_launch_shortcut": true,
    "do_not_launch_chrome": true,
    "do_not_register_for_update_launch": true,
    "make_chrome_default": false,
    "make_chrome_default_for_user": false,
    "suppress_first_run_default_browser_prompt": true,
    "require_eula": false,
    "system_level": true
  }
}

Thanks

16 REPLIES 16

andrew_stenehje
Contributor

I haven't migrated to using that yet because of similar issues suppressing the import bookmark options.

bangali
New Contributor

I am using this for my Master Prefersnces and it is supressing the First Run UI but I am having problem with suppressing the prompt to install the Google AutoUpdate when a new user launches Chrome for the first time.

"distribution" : {
"skip_first_run_ui" : true,
"show_welcome_page" : false,
"import_bookmarks" : false,
"import_bookmarks_from_file" : "/Library/Google/chrome_bookmarks.html",
"make_chrome_default" : false
},

agurley
New Contributor II

Yep, this is definitely a problem. I tried using a Chrome Master Prefs file last year and since the First Run dialog wasn't being suppressed, the idea of having the Master Prefs file seemed pointless. The older students at my organization have no problem clicking through prompts, but the younger students are paralyzed by it as you can imagine.

I ended up creating an app in AppleScript Editor that called Chrome with the "no-first-run" flag, something like:

do shell script "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome --no-first-run"

Saved it as an Application then packaged it up & pushed it out. Replaced the Chrome in the dock with the new custom app. It's not ideal. Later on I discovered that my Master Prefs file broke, so I abandoned the whole thing and started using MCX in conjunction with the custom app.

CasperSally
Valued Contributor II

I use composer to snapshot the settings we want to start with for Chrome and do FUT. I push the settings we want to enforce forever with mcx/config profiles.

For the software update thing, I noticed today Chrome putting the software update bundle back in even if I removed it from the snapshot. Now I'm testing setting ~/Library/Google/GoogleSoftwareUpdate folder to read only. Chrome opens without issue so far in my testing.

I assume when I push Chrome updates later, though, this folder may lose those permissions.

mm2270
Legendary Contributor III

Any particular reason some of you are trying to suppress Google Chrome auto updating? Just trying to understand what the concern is here. For me, I think its great that it keeps itself up to date. Saves me the hassle of needing to stay on top of the frequent releases.

Assuming there is a valid reason for wanting to disable it, why not just use a setting like this to turn it off, maybe via MCX?

defaults write ~/Library/Preferences/com.google.Keystone.Agent checkInterval 0

Or does that actually not work?

CasperSally
Valued Contributor II

We just like to test the updates before users get them. Sometimes they add features we like to disable for students (like when they added the apps link to bookmark bar).

I don't believe that defaults write command works anymore.

byeager
New Contributor

I have been working on a solution to suppress all unwanted Chrome pop ups for our school district for the past two days and this is what I am using. I have tried GPO's and registry edits but I think this master_preferences file is the way to go. Hopefully it works for you! { "homepage" : "http://www.google.com", "homepage_is_newtabpage" : true, "browser" : { "show_home_button" : true, "check_default_browser" : false }, "session" : { "restore_on_startup" : 4, "urls_to_restore_on_startup" : [ "http://www.google.com/ig" ] }, "bookmark_bar" : { "show_on_all_tabs" : false }, "sync_promo" : { "show_on_first_run_allowed": false }, "distribution" : { "auto_launch_chrome": true, "chrome": true, "app_host": true, "chrome_frame": true, "ready_mode": true, "disable_logging": true, "import_bookmarks": true, "import_home_page": true, "import_search_engine": true, "ping_delay": 60, "show_welcome_page": false, "skip_first_run_ui": true, "suppress_first_run_bubble": true, "do_not_create_desktop_shortcut": true, "do_not_create_quick_launch_shortcut": true, "do_not_launch_chrome": true, "do_not_register_for_update_launch": true, "log_file": "log.txt", "make_chrome_default": false, "make_chrome_default_for_user": false, "suppress_first_run_default_browser_prompt": true, "msi": true, "multi_install": true, "system_level": true, "verbose_logging": true }, "first_run_tabs" : [ "http://www.example.com", "welcome_page", "new_tab_page" ] }

matt_jamison
Contributor

@agurley Could you help me with using MCX settings for Chrome? I have the com.google.Chrome.manifest file but Casper refuses to upload it, says there are no settings. I'm using 9.62.

I'm really just trying to get 1 setting pushed out to our users. RegisteredProtocolHandlers. Any pointers would be greatly appreciated. Thanks!

agurley
New Contributor II

Yep, I too uploaded a Chrome manifest a while ago with the same result (saying there are no settings). Looks like you already saw the post at https://jamfnation.jamfsoftware.com/discussion.html?id=8587 - so download the newer/fixed manifest with a quickness! I did it just now. When I initially set all this up I think I struggled with the blank titles and just expanded them all and used the ones I needed. Don't know if this helps you get the string set for the key you are looking at, but having that new manifest is great. Gold stars for @bcourtade and sorry I can't be of more help. I should have a chance to look at this closer, but wanted to respond to let you know I wasn't ignoring you :)

cwaldrip
Valued Contributor

@mm2270 We want to disable it because several of our customers may be on a low-latency, low-bandwidth satellite internet connection that they could be using to stream live video for broadcast. It'd be a shame to have exclusive video get ruined by a Chrome update. :-

I've tried disabling this with a System Policy pushing a plist like Google recommends, but I still get a prompt on second launch to turn it on.

acdesigntech
Contributor II

@cwaldrip have you tried saying no to the prompt, then looking at what key gets created in the chrome plist, and adding that to your manifest?

The prompt to turn the auto update feature back on is probably controlled through a different key

flyboy
Contributor

I have been able to suppress the First-Run pop-up window by "touching" the First Run file at

~/Library/Application Support/Google/Chrome/First Run

Below is my postinstall script:

#!/bin/bash
set -o nounset                              # Treat unset variables as an error

WDIR="/Library/Application Support/CustomConfig/Profiles/Chrome"

IFS=$'
'

PROFILES=(`ls "${WDIR}"`)
USERS=(`ls /Users | grep -v Shared | grep -v .localized`)
TEMPLATES=(`ls /System/Library/User Template/`)

## Loop through and install the config profiles 
for profile in "${PROFILES[@]}"
do
    profiles -I -F "${WDIR}/${profile}"
    srm "${WDIR}/${profile}"
done

## Loop through any pre-existing user profiles and touch "First Run"
## Edit -- for whatever reason chown after the fact does not set ownership properly
## use sudo to create the folder and file as the user in question
for userid in "${USERS[@]}"
do
    sudo -u $userid mkdir -p /Users/$userid/Library/Application Support/Google/Chrome
    sudo -u $userid touch /Users/$userid/Library/Application Support/Google/Chrome/First Run
done

## Loop through user templates and pre-populate First Run
for template in "${TEMPLATES[@]}"
do
    mkdir -p /System/Library/User Template/$template/Library/Application Support/Google/Chrome
    touch /System/Library/User Template/$template/Library/Application Support/Google/Chrome/First Run
done

rm -R "${WDIR}"

BCPeteo
Contributor II

Any one able to suppress this in Chrome 54? Launches the sign in to chrome page each time.

URL: chrome://chrome-signin/?access_point=0&reason=0

berembert
New Contributor

Hi guys,

I'm trying to find a solutions since few days to manage my chrome preferences usign either "Configuration Profiles" or "Managed Preferences" on Casper.. I'm looking at your files' examples like the one given by @sputnam in this thread and I'm not able to upload such formatted file in my jss...

Could you guys explain me your procedure to make these settings works ?

Thanks a lot :)
Brice

dersonc
New Contributor

If you add the following to the master_preferences, only the new tab page will be displayed on the first run:

"first_run_tabs": [ 
    "chrome://newtab" 
  ]

You can change it to have your own pages displaying on first launch.