- Configuration Items in Configuration Manager (SCCM, MECM) - Mon, Aug 22 2022
- Create and read SCVMM custom properties with PowerShell and the VMM Console - Mon, Apr 18 2022
- Prevent ransomware attacks on network shares with File Server Resource Manager (FSRM) - Mon, Mar 7 2022
Step 1 – Download the latest version of Chrome.
The installer is available as an MSI package, so it can be deployed with various systems and application management tools, such as Group Policy and System Center Configuration Manager.
Step 2 – Create a new folder for the installer and scripts.
For this guide, I will be saving all the required files to the following location:
\\SCS-CFGMGR-MP\SWSTORE\Software\Installed\Google Chrome\V54
Step 3 – Download and install Google Chrome Enterprise on a reference computer.
Navigate to the Chrome Web Store and download the extension you wish to include with your Chrome deployment. I will be using OneNote Web Clipper 3.2.14 for my test environment.
Navigate to C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\Extensions\gojbdfnpnhogfdgjbigejoaolejmgdhk\3.2.14_0 and copy the file "manifest.json" to the source folder you created. Open this file with Notepad and make note of the following information:
"default_title": "Clip to OneNote" "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkVJnjQCprmtkNsmBhW1s911NHJaPEBAS9fBTJOEyuAtv2uUamr+V0yp7piE7hBGVYSP+PqwAIt4um44qUFXNGPTfqVdvaTNpaKEV124t3bbfKSboa4tFbmJPEiFefKEweg2hl1maRuaLrQIyTM4TRua1JqI14f4IgIBDC9myFOhfLpK4BgjGKeevlbodrRpuN9k/YPakHD4LGOdNlsBcF5PRVQQ9uVXFIwVaPn4uNF8BkD/J5yYG7nqE7nJML7hALAkUjUFHZcl653FIIsPPuH/mQQtyBBQ5+TVhPY86ycmFJWxIcOuxmpbEJr9Lamq+AH+d0fow/dTHjgwLgc92SwIDAQAB", "name": "OneNote Web Clipper", "permissions": [ "\u003Call_urls>", "activeTab", "contextMenus", "tabs", "webRequest", "webRequestBlocking", "storage", "webNavigation" ], "update_url": "https://clients2.google.com/service/update2/crx", "manifest": { "content_scripts": [ { "all_frames": true, "js": [ "appendIsInstalledMarker.js" ], "matches": [ "\u003Call_urls>" ], "run_at": "document_start" } ],
Also make note of the extension string: gojbdfnpnhogfdgjbigejoaolejmgdhk
Again, navigate to C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\ and copy the file "preferences" to the source folder you just created. Unlike the manifest.json file you viewed earlier, this file has a lot more information to digest.
Run a search for the extension string (gojbdfnpnhogfdgjbigejoaolejmgdhk) until you find the entry {"active_permissions": and make a note of the following:
"api": ["activeTab","contextMenus","storage","tabs","webNavigation","webRequest", "webRequestBlocking"], "explicit_host": ["\u003Call_urls>","chrome://favicon/*"], "scriptable_host": ["\u003Call_urls>"]
Though the extension you wish to include with your deployment may be different to the one used in this guide, the information extraction process is mostly the same for all extensions. The only differences will be the permissions and the extension string. If you created another user profile in Chrome, both the manifest.json file and the preferences file may be located under a different folder than Default (Profile 1, Profile 2, Profile 3, etc.)
Step 4 – Navigate to C:\Program Files (x86)\Google\Chrome\Application and copy the file "master_preferences" to the source folder you just created.
Open the master_preferences file with Notepad and copy and replace the following information:
Open the master_preferences file with Notepad and copy and replace the following information: { "homepage": "http://www.google.com", "homepage_is_newtabpage": false, "browser": { "show_home_button": true }, "bookmark_bar": { "show_on_all_tabs": false }, "distribution": { "skip_first_run_ui": true, "import_bookmarks": false, "import_search_engine": true, "import_history": false, "create_all_shortcuts": true, "do_not_launch_chrome": true, "make_chrome_default": true, "make_chrome_default_for_user": true }, "first_run_tabs": [ "http://www.google.com" ], "extensions": { "settings": { "gojbdfnpnhogfdgjbigejoaolejmgdhk": { "location": 1, "manifest": { "content_scripts": [ { "all_frames": true, "js": [ "appendIsInstalledMarker.js" ], "matches": [ "\u003Call_urls>" ], "run_at": "document_start" } ], "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkVJnjQCprmtkNsmBhW1s911NHJaPEBAS9fBTJOEyuAtv2uUamr+V0yp7piE7hBGVYSP+PqwAIt4um44qUFXNGPTfqVdvaTNpaKEV124t3bbfKSboa4tFbmJPEiFefKEweg2hl1maRuaLrQIyTM4TRua1JqI14f4IgIBDC9myFOhfLpK4BgjGKeevlbodrRpuN9k/YPakHD4LGOdNlsBcF5PRVQQ9uVXFIwVaPn4uNF8BkD/J5yYG7nqE7nJML7hALAkUjUFHZcl653FIIsPPuH/mQQtyBBQ5+TVhPY86ycmFJWxIcOuxmpbEJr9Lamq+AH+d0fow/dTHjgwLgc92SwIDAQAB", "name": "OneNote Web Clipper", "permissions": [ "\u003Call_urls>", "activeTab", "contextMenus", "tabs", "webRequest", "webRequestBlocking", "storage", "webNavigation" ], "update_url": "https://clients2.google.com/service/update2/crx", "version": "0.0" }, "path": "gojbdfnpnhogfdgjbigejoaolejmgdhk\\0.0", "state": 1, "granted_permissions": { "api": ["activeTab","contextMenus","storage","tabs","webNavigation","webRequest","webRequestBlocking"], "explicit_host": ["\u003Call_urls>","chrome://favicon/*"], "scriptable_host": ["\u003Call_urls>"] } } } } }
You may also change the "true" and "false" strings to meet the needs of your environment, however, be careful when doing so because Chrome will launch using the default settings without your configuration if the master_preferences file is corrupt or invalid. You can run your code through a website such as JSONLint (jsonlint.com) to verify that your syntaxes are correct.
Step 7 – Open Notepad and create a text file called "install.bat".
Copy and paste the following information:
msiexec /i " %~dp0googlechromestandaloneenterprise64.msi" /qb if exist "C:\Program Files (x86)\Google\Chrome\Application\" copy /Y “%~dp0master_preferences" "C:\Program Files (x86)\Google\Chrome\Application"
When you are done, save the file to the source folder you just created. We are now ready to deploy the application with SCCM.
Step 8 –Start the Create Application wizard in SCCM
Click on the "Software Library" tab to expand Application Management, and click on the "Applications" applet. Find and open the "Create Application Wizard" in the Ribbon above. When the wizard launches, choose "Manually specify the application information" and click "Next." Enter any information you think is necessary and click "Next" again.
Step 9 – Configure general information and content
When asked to specify settings for this deployment type, choose "Script Installer" and click "Next." Enter a name for the deployment type (I usually just put Install) and choose a language; I will select English (United States).
Click "Next," and on the next screen, specify the content location, installation program, and uninstallation program (optional). I will not be specifying an uninstall program as with my environment this application should not be uninstalled and will be advertised to workstations as a required application. Note that for the installation program, I selected "install.bat" instead of "googlechromestandaloneenterprise64.msi".
On the next page, we are going to specify how Configuration Manager will detect whether the workstation needs Google Chrome installed. Click "Add Clause," and leave the settings at their default values. Configure the other settings as follows:
Type: Folder
Path: C:\Program Files (x86)\Google\
File or Folder Name: Chrome
Click OK and click Next.
Step 10 –Specify the user experience settings
Essentially, we will configure how the application will install on the computer. Configure the settings as follows:
Installation behavior: Install for System
Logon requirement: Whether or not a user is logged on
Installation program visibility: Hidden
You can leave the maximum allowed run time and estimated installation time alone if you wish, however I am going to set both the maximum allowed run time and the estimated installation time to 15 minutes.
There’s no reason why this application should take longer than 15 minutes to install. For now, I am not going to specify any requirements, and Google Chrome has no dependencies, so I am going to click "Next" for the last few screens, and at the end I will be shown a summary of my configuration. Click "Next" to finish creating the application and exit the Create Application wizard.
Step 11 – Distribute and deploy Google Chrome.
Right-click on the Google Chrome application and select "Deploy."
Choose the Device Collection you would like to deploy the application to and click "Next."
Step 12 – Specify the distribution point(s) or distribution point group.
After you have configured the distribution point (s) you would like to distribute the application to, click "Next."
Step 13 – Specify the type of deployment you would like to advertise.
In this example, we will set the deployment type to be a Required application.
Step 13 – Leave the scheduled deployment deadline as-is.
You don't have to change the scheduled deployment deadline, so you can just click "Next."
Step 14 – Specify the user experience.
You have to decide here whether you would like the end user to be notified that the application has been made available. In this example, I am going to opt to "Hide notifications in Software Center." Leave the option under handling Windows embedded devices as-is and click "Next."
Step 15 –Leave the alert settings alone.
Click "Next," and on the confirmation page, click "Next" one more time to finish and close the Deployment Wizard.
Step 16 – Wait a few minutes until SCCM starts installing Chrome.
Logon to one of the workstations in the Device Collection you deployed Chrome to earlier. Google Chrome should now be installed. When you launch Chrome for the first time, the browser will start without any unnecessary prompts or welcome pages, and will automatically enable the OneNote Web Clipper extension.
Just a little thing I had trouble with this guide:
It was the 1st line in install.bat:
msiexec /i ” %~dp0googlechromestandaloneenterprise64.msi” /qb
Eventually I solved it and the 1st line, it should read like this instead:
msiexec /i %~dp0googlechromestandaloneenterprise64.msi /qb
Thanks for a good guide!
//David
You’re welcome, David. Thank you for the feedback!
This guide doesn’t explain how to do this with other extensions. You instruct to take note of things, but don’t explain for what reason, and then you have a copy/paste instruction, which looks to have information for your specific extension without explanation of where that came from, or how to do this with different extensions.
You can do a better job than this, as this is, this is absolutely useless for figuring out how to do this process with other extensions!
This command worked for us when deploying with a master preference file.
msiexec /i %~dp0googlechromestandaloneenterprise64.msi /qn
XCOPY “%~dp0master_preferences” “%ProgramFiles(x86)%\Google\Chrome\Application”/E /V /H /Y