VMware Horizon Community
Pim_van_de_Vis
Jump to solution

Manage Google Chrome with UEM - alternative way

The biggest issue with managing Google Chrome with UEM is that Chrome stores a lot of data in the %LocalAppData% folder, making it very time consuming to import and export that location.

Google provides an option to make Chrome store the browser user profile information in the Roaming AppData folder, to make it compatible with roaming user profiles.

This option stores most personal Chrome settings in a small 'profile.pb' file. This is a huge improvement over the original location, that can easily grow to 100's of megabytes.

This page describes the solution:

Using Chrome on roaming user profiles - Chrome for business and education Help

The site provides an ADMX template that can be imported in UEM 'ADMX based settings'.

You only need to enable the setting called 'Enable the creation of roaming copies for Google Chrome profile data'.

This will create the '%AppData%\Google\Chrome\User Data\Default\profile.pb' file, which we will further manage with a UEM config file (attached to this post).

The roaming user profile (profile.pb) contains information such as bookmarks, autofill data, passwords, per-computer browsing history, browser preferences, and installed extensions.

The downside it that the 'profile.pb' file doesn’t contain information about cookies, browsing sessions, cached or downloaded files, and other local browser instance and transient data.

I found out that capturing the 'Cookies' file from the LocalAppData folder, together with the 'profile.pb' file solves the cookies issue.

Attached is a UEM config file that you can use to test this new approach. It's not perfect yet, because some personal settings are still missing, but by including the correct specific files from LocalAppData we might get it to roam all settings, while still maintaining a small and fast UEM profile.

Please give this a try, and let me know what you are missing, or what files need to be included additionally to make this work.

59 Replies
MarkusHartmann
Contributor
Contributor
Jump to solution

hi there,

anything is working fine for us, after setting my UEM Chrome settings to the following entries:

[IncludeFiles]

<AppData>\Google\Chrome\User Data\Default\profile.pb

# By capturing this file the Cookies will be saved

<LocalAppData>\Google\Chrome\User Data\Default\Cookies

[IncludeFolderTrees]

<LocalAppData>\Google\Chrome\User Data\Default\Local Storage

<LocalAppData>\Google\Chrome\User Data\Default\Session Storage

only problem left is, the Chrome settings for opening file (in that case PDF) with internal system viewer is not saved between sessions.

We tried the following setting:

# PDF System Viewer

<LocalAppData>\Google\Chrome\User Data\Default\Preferences

and / or

<AppData>\Google\Chrome\User Data\Default\Preferences

but it's not saved after all.

Do you have any suggestions for us?

thanks and best regards

Markus

Reply
0 Kudos
CyberTron123
Enthusiast
Enthusiast
Jump to solution

Hi everyone

I have been using the Roaming Profile way for a couple of months now in our production environment. Suddenly (around 27/2 2020) all my users (including me) started reporting that Bookmarks disappeared over night. Everything else seems to be working, sessions works, it saves "google shortcuts", saved passwords works and so on...but no bookmarks

Anyone else noticed this? Anyone have a fix?

The only thing I have found is that Chrome version 80 was release somewhere around that time, but we are running v.79. (enterprise version)

any help is appreciated

Reply
0 Kudos
helms20
Contributor
Contributor
Jump to solution

I know this is an old post, but I have an issue with chrome and cookies.  I have the cookies folder synchronized with UEM, and I can see the file in the correct location before I run chrome.  However when I run chrome and look at the cookies through advanced settings, there aren't any showing up. 

I know it is still storing them because after I login to kronos, I can see the authenticated cookie from the browser.  Is there another file that I need to be synchronizing other than <localappdata>\google\chrome\user data\default\cookies??

Thank you in advance,

Randy

Reply
0 Kudos
RachelW
Enthusiast
Enthusiast
Jump to solution

Hello,

We are in desperate need of reducing the size of our Google Profiles in UEM because I believe this is causing slow login times to our Horizon desktop.  In my searching I found his discussion.  As I am reading through this, I am confused as to where I start with this.

1) Do I setup something in UEM?

2) Do we setup GPOs?

3) Do we do something else?

I would really appreciate any direction you can provide.

Reply
0 Kudos
Shreyskar
VMware Employee
VMware Employee
Jump to solution

Hi RachelW

You can run extract 'chrome.zip' for one of the user and run treefilesize on this folder to find out which exact folder/file is consuming space on the user profile. Based on that you can take a decision to either remove it from all user's profile and exclude in DEM config file.

Also can you please let me know how your chrome config file look like in DEM?

Thanks,

Shreyskar

Shreyskar
VMware Employee
VMware Employee
Jump to solution

Hi helms20

Have you recently updated or patched Chrome?

Reply
0 Kudos
ap_idb
Enthusiast
Enthusiast
Jump to solution

It wasn't clear in your reply - Did you use any of the suggestions in this thread? Those offer some great exclusions so you're not creating 2GB files.

With that said, it's also critical to ensure your antivirus is not damaging your logon times, because UEM essentially just extracts contents of a zip file to the users c:\users\username\appdata location, which many AV find suspect.

Reply
0 Kudos
RachelW
Enthusiast
Enthusiast
Jump to solution

Yes we recently upgraded Chrome to 81 however the problem existed prior to the upgrade.

Reply
0 Kudos
RachelW
Enthusiast
Enthusiast
Jump to solution

Hi Shreyskar​,

Per your suggestion I extracted a chrome.zip file and it appears 99.9% of the size is located in LocalAppData\Google\Chrome\User Data\Default\Code Cache\js directory.

Also, I have attached a copy of our chrome config file in UEM (we are currently running 9.3).

Reply
0 Kudos
RachelW
Enthusiast
Enthusiast
Jump to solution

Hi @ap_idb,

I have not yet tried any suggestions in this thread; I am trying to determine what exactly I need to do in what order.  It sounds like there are GPO settings that need to occur, modifications to UEM, etc. and I was trying to get an understanding of what it all means and what needs to be done.

I just extracted one of the chrome.zip files as was suggested and posted a copy of my chrome config file.  Additionally, I just sent a question to my security person to ensure our anti-virus IS indeed excluding the c:\users\username\appdata location.

Any suggestions are appreciated.

Reply
0 Kudos
ap_idb
Enthusiast
Enthusiast
Jump to solution

Two questions which are off topic for here -

AntiVirus - I would advise against excluding that directory, as that is usually a place where malware can try to infect. Rather, exclude the flexengine to zip to that location, but better yet is sit down with your infosec team and review the below:

https://techzone.vmware.com/resource/antivirus-considerations-vmware-horizon-7-environment

GPO - You should look into Chrome GPO as you would for any GPO. The GPO has a number of policies you would want to put in your organization. For example:

Optimize Chrome Browser on virtual desktops - Google Chrome Enterprise Help

Back to CHROME UEM CONFIG -

Compare your flex config to the one Justin Y posted at the end of page 1, I did that and also made some modifications...my config is below. Why do I and others have more lines than you do? They reviewed what seems to be impacting their environments and made the decision to exclude certain directories. Maybe I don't want to exclude certain folders and you do, maybe I want to include the roaming profile database and you don't - it's all based on your needs from the applications you are using UEM to manage.

[IncludeFiles]

<AppData>\Google\Chrome\User Data\Default\profile.pb

[IncludeFolderTrees]

<LocalAppData>\Google\Chrome\User Data\Default\Extensions

<LocalAppData>\Google\Chrome\User Data\Default\Thumbnails

<LocalAppData>\Microsoft\Windows\WebCache

<LocalAppData>\Google\Chrome

# By capturing this file the Cookies will be saved

<LocalAppData>\Google\Chrome\User Data\Default\Cookies

# surpress Welcome to Chrome Tab https://communities.vmware.com/thread/578914 (Source)

<LocalAppData>\Google\Chrome\User Data\First Run

<LocalAppData>\Google\Chrome\User Data\Default\Preferences

<LocalAppData>\Google\Chrome\User Data\Default\Login Data

<LocalAppData>\Google\Chrome\User Data\Default\History

<LocalAppData>\Google\Chrome\User Data\Default\Top Sites

# Retain Extension customizations and first run tabs

<LocalAppData>\Google\Chrome\User Data\Default\Extension Cookies

[IncludeRegistryTrees]

HKCU\Software\Google

HKCU\Software\MozillaPlugins

[ExcludeFolderTrees]

<LocalAppData>\Google\Chrome\User Data\Default\Cache

<LocalAppData>\Google\Chrome\User Data\Default\Application Cache

<LocalAppData>\Google\Chrome\User Data\Default\Storage

<LocalAppData>\Google\Chrome\User Data\Default\Local Storage

<LocalAppData>\Google\Chrome\User Data\Default\Media Cache

<LocalAppData>\Google\Chrome\User Data\Default\Session Storage

<LocalAppData>\Google\Chrome\User Data\Default\GPUCache

<LocalAppData>\Google\Chrome\User Data\Default\Web Applications

<LocalAppData>\Google\Chrome\User Data\Default\Sync Data

<LocalAppData>\Google\Chrome\User Data\Default\Sync Data Backup

<LocalAppData>\Google\Chrome\User Data\Default\Pepper Data\Shockwave Flash\CacheWriteableAdobeRoot

<LocalAppData>\Google\Chrome\User Data\Default\IndexedDB

<LocalAppData>\Google\Chrome\User Data\Profile 1\Cache

<LocalAppData>\Google\Chrome\User Data\Profile 1\Application Cache

<LocalAppData>\Google\Chrome\User Data\Profile 1\Storage

<LocalAppData>\Google\Chrome\User Data\Profile 1\Local Storage

<LocalAppData>\Google\Chrome\User Data\Profile 1\Media Cache

<LocalAppData>\Google\Chrome\User Data\Profile 1\Session Storage

<LocalAppData>\Google\Chrome\User Data\Profile 1\GPUCache

<LocalAppData>\Google\Chrome\User Data\Profile 1\Web Applications

<LocalAppData>\Google\Chrome\User Data\Profile 1\Sync Data

<LocalAppData>\Google\Chrome\User Data\Profile 1\Sync Data Backup

<LocalAppData>\Google\Chrome\User Data\Profile 1\Pepper Data\Shockwave Flash\CacheWriteableAdobeRoot

<LocalAppData>\Google\Chrome\User Data\Profile 1\IndexedDB

<LocalAppData>\Google\Chrome\User Data\Profile 2\Cache

<LocalAppData>\Google\Chrome\User Data\Profile 2\Application Cache

<LocalAppData>\Google\Chrome\User Data\Profile 2\Storage

<LocalAppData>\Google\Chrome\User Data\Profile 2\Local Storage

<LocalAppData>\Google\Chrome\User Data\Profile 2\Media Cache

<LocalAppData>\Google\Chrome\User Data\Profile 2\Session Storage

<LocalAppData>\Google\Chrome\User Data\Profile 2\GPUCache

<LocalAppData>\Google\Chrome\User Data\Profile 2\Web Applications

<LocalAppData>\Google\Chrome\User Data\Profile 2\Sync Data

<LocalAppData>\Google\Chrome\User Data\Profile 2\Sync Data Backup

<LocalAppData>\Google\Chrome\User Data\Profile 2\Pepper Data\Shockwave Flash\CacheWriteableAdobeRoot

<LocalAppData>\Google\Chrome\User Data\Profile 2\IndexedDB

<LocalAppData>\Google\Chrome\User Data\WidevineCDM

<LocalAppData>\Google\Chrome\User Data\EVWhitelist

<LocalAppData>\Google\Chrome\User Data\pnacl

<LocalAppData>\Google\Chrome\User Data\recovery

<LocalAppData>\Google\Chrome\User Data\SwiftShader

<LocalAppData>\Google\Chrome\User Data\SwReporter

<LocalAppData>\Google\Chrome\User Data\ShaderCache

<LocalAppData>\Google\Chrome\User Data\PepperFlash

<LocalAppData>\Google\Chrome\Application\

[ExcludeFiles]

<LocalAppData>\Google\Chrome\User Data\Default\ChromeDWriteFontCache

<LocalAppData>\Google\Chrome\User Data\Profile 1\ChromeDWriteFontCache

<LocalAppData>\Google\Chrome\User Data\Profile 2\ChromeDWriteFontCache

<LocalAppData>\Google\Chrome\User Data\Safe Browsing Bloom

<LocalAppData>\Google\Chrome\User Data\Safe Browsing Bloom Prefix Set

<LocalAppData>\Google\Chrome\User Data\Safe Browsing Download

<LocalAppData>\Google\Chrome\User Data\Safe Browsing UwS List

<LocalAppData>\Google\Chrome\User Data\Safe Browsing UwS List Prefix Set

<LocalAppData>\Google\Chrome\User Data\ev_hashes_whitelist.bin

*.tmp

[IncludeFiles]<AppData>\Google\Chrome\User Data\Default\profile.pb

[IncludeFolderTrees]<LocalAppData>\Google\Chrome\User Data\Default\Extensions<LocalAppData>\Google\Chrome\User Data\Default\Thumbnails<LocalAppData>\Microsoft\Windows\WebCache<LocalAppData>\Google\Chrome

# By capturing this file the Cookies will be saved<LocalAppData>\Google\Chrome\User Data\Default\Cookies
# surpress Welcome to Chrome Tab https://communities.vmware.com/thread/578914 (Source)<LocalAppData>\Google\Chrome\User Data\First Run<LocalAppData>\Google\Chrome\User Data\Default\Preferences<LocalAppData>\Google\Chrome\User Data\Default\Login Data<LocalAppData>\Google\Chrome\User Data\Default\History<LocalAppData>\Google\Chrome\User Data\Default\Top Sites
# Retain Extension customizations and first run tabs<LocalAppData>\Google\Chrome\User Data\Default\Extension Cookies
[IncludeRegistryTrees]HKCU\Software\GoogleHKCU\Software\MozillaPlugins
[ExcludeFolderTrees]<LocalAppData>\Google\Chrome\User Data\Default\Cache<LocalAppData>\Google\Chrome\User Data\Default\Application Cache<LocalAppData>\Google\Chrome\User Data\Default\Storage<LocalAppData>\Google\Chrome\User Data\Default\Local Storage<LocalAppData>\Google\Chrome\User Data\Default\Media Cache<LocalAppData>\Google\Chrome\User Data\Default\Session Storage<LocalAppData>\Google\Chrome\User Data\Default\GPUCache<LocalAppData>\Google\Chrome\User Data\Default\Web Applications<LocalAppData>\Google\Chrome\User Data\Default\Sync Data<LocalAppData>\Google\Chrome\User Data\Default\Sync Data Backup<LocalAppData>\Google\Chrome\User Data\Default\Pepper Data\Shockwave Flash\CacheWriteableAdobeRoot<LocalAppData>\Google\Chrome\User Data\Default\IndexedDB<LocalAppData>\Google\Chrome\User Data\Profile 1\Cache<LocalAppData>\Google\Chrome\User Data\Profile 1\Application Cache<LocalAppData>\Google\Chrome\User Data\Profile 1\Storage<LocalAppData>\Google\Chrome\User Data\Profile 1\Local Storage<LocalAppData>\Google\Chrome\User Data\Profile 1\Media Cache<LocalAppData>\Google\Chrome\User Data\Profile 1\Session Storage<LocalAppData>\Google\Chrome\User Data\Profile 1\GPUCache<LocalAppData>\Google\Chrome\User Data\Profile 1\Web Applications<LocalAppData>\Google\Chrome\User Data\Profile 1\Sync Data<LocalAppData>\Google\Chrome\User Data\Profile 1\Sync Data Backup<LocalAppData>\Google\Chrome\User Data\Profile 1\Pepper Data\Shockwave Flash\CacheWriteableAdobeRoot<LocalAppData>\Google\Chrome\User Data\Profile 1\IndexedDB<LocalAppData>\Google\Chrome\User Data\Profile 2\Cache<LocalAppData>\Google\Chrome\User Data\Profile 2\Application Cache<LocalAppData>\Google\Chrome\User Data\Profile 2\Storage<LocalAppData>\Google\Chrome\User Data\Profile 2\Local Storage<LocalAppData>\Google\Chrome\User Data\Profile 2\Media Cache<LocalAppData>\Google\Chrome\User Data\Profile 2\Session Storage<LocalAppData>\Google\Chrome\User Data\Profile 2\GPUCache<LocalAppData>\Google\Chrome\User Data\Profile 2\Web Applications<LocalAppData>\Google\Chrome\User Data\Profile 2\Sync Data<LocalAppData>\Google\Chrome\User Data\Profile 2\Sync Data Backup<LocalAppData>\Google\Chrome\User Data\Profile 2\Pepper Data\Shockwave Flash\CacheWriteableAdobeRoot<LocalAppData>\Google\Chrome\User Data\Profile 2\IndexedDB<LocalAppData>\Google\Chrome\User Data\WidevineCDM<LocalAppData>\Google\Chrome\User Data\EVWhitelist<LocalAppData>\Google\Chrome\User Data\pnacl<LocalAppData>\Google\Chrome\User Data\recovery<LocalAppData>\Google\Chrome\User Data\SwiftShader<LocalAppData>\Google\Chrome\User Data\SwReporter<LocalAppData>\Google\Chrome\User Data\ShaderCache<LocalAppData>\Google\Chrome\User Data\PepperFlash<LocalAppData>\Google\Chrome\Application\
[ExcludeFiles]<LocalAppData>\Google\Chrome\User Data\Default\ChromeDWriteFontCache<LocalAppData>\Google\Chrome\User Data\Profile 1\ChromeDWriteFontCache<LocalAppData>\Google\Chrome\User Data\Profile 2\ChromeDWriteFontCache<LocalAppData>\Google\Chrome\User Data\Safe Browsing Bloom<LocalAppData>\Google\Chrome\User Data\Safe Browsing Bloom Prefix Set<LocalAppData>\Google\Chrome\User Data\Safe Browsing Download<LocalAppData>\Google\Chrome\User Data\Safe Browsing UwS List<LocalAppData>\Google\Chrome\User Data\Safe Browsing UwS List Prefix Set<LocalAppData>\Google\Chrome\User Data\ev_hashes_whitelist.bin*.tmp

Shreyskar
VMware Employee
VMware Employee
Jump to solution

Hi RachelW

Thanks for the response.If code cache is consuming most of the space, you can put a exclusion in chorme config in UEM for codecache folder as well.

[ExcludeFolderTrees]

%LocalAppData%\Google\Chrome\User Data\Default\Code Cache

I would recommend to use attached chrome config file as it has many other exclusions added which is not present in default template. You need to delete existing chrome.zip folder for one of the user  (or a test user) and monitor it with the new config template. Also make sure AV is not scanning your DEM config and profile shares and also exclude below EXEs from real time scan:

  • FlexEngine.exe

  • FlexSyncTool.exe

  • Flex+ Helpdesk Support Tool.exe

  • Flex+ Self-Support.exe

RachelW
Enthusiast
Enthusiast
Jump to solution

Hi Shreyskar​,

What is the best way to test this with one user?  Should I create a new config template for Chrome with the new configuration/exclusions, etc. and leave the existing one as is?

Do I use the Create Config File option and then select which option below? I am "new" to UEM so have lots of questions.

UEM_config.png

Reply
0 Kudos
Shreyskar
VMware Employee
VMware Employee
Jump to solution

Hi RachelW

You can create a new config file with a different name in UEM manager and put a condition like below to have this configuration ONLY apply to 'testuser':

pastedImage_0.png

RachelW
Enthusiast
Enthusiast
Jump to solution

HI Shreyskar​ and ap_idb​,

I noticed in both of your UEM Configs for Chrome under User Data there is a Default directory (which I have) and  Profile 1 and Profile 2 directories.  I took a look at one of the zipped chrome files and there is no Profile 1 or Profile 2 directories.  What are these for?

Also, ap_idb​ in your config file I see this line:

[IncludeFiles]

<AppData>\Google\Chrome\User Data\Default\profile.pb

Again looking at the zipped chrome file I do not see the profile.pb file in there.  Where does this come from?  I notice this file mentioned in some of the other posts in this conversation.

Thank you everyone!

Reply
0 Kudos
ap_idb
Enthusiast
Enthusiast
Jump to solution

Rachel, that is where you get into understanding your business, security and users - and then each application you deploy.  We use roaming profiles for Chrome.

Use Chrome Browser with Roaming User Profiles - Google Chrome Enterprise Help

Reply
0 Kudos
Shreyskar
VMware Employee
VMware Employee
Jump to solution

Hi RachelW

When you create/use multiple user profile to login to chrome, it creates profile1,profile2, soon in <LocalAppData>\Google\Chrome\User Data\Default. If you are not using multiple profiles, it will not create profile1,profile2 etc in that directory hence you will not see them in your chrome.zip folder.

Next time when you login to VDI with your user account, you can type "Chome://version" in chrome and can see your current profile path.

Information for each user’s roaming profile is kept in a file named profile.pb. By default, this file is located in %APPDATA%/Google/Chrome. If you change or redirect the location of this file, be aware of possible effects on synchronization or simultaneous Chrome Browser sessions.

Reply
0 Kudos
RachelW
Enthusiast
Enthusiast
Jump to solution

Hi Shreyskar​, ap_idb​,

Once we have this in place, do we need to "clean-up UEM to remove the large Chrome files?  If so, what files?  In the Archives, Backups or other folders?  OR all of the above?

Reply
0 Kudos
Shreyskar
VMware Employee
VMware Employee
Jump to solution

Hi RachelW

Yes you have to clean or remove existing chrome.zip files from archives so that new config settings can apply going forward. No need to clean backups as they are not imported at the time of logon.They are kept just in case you want to restore any application's archive folder.

Reply
0 Kudos
DEMdev
VMware Employee
VMware Employee
Jump to solution

Hi RachelW,

do we need to "clean-up UEM to remove the large Chrome files?  If so, what files?  In the Archives, Backups or other folders?

There's no need for any manual cleanup actions:

  • If you're updating your existing Chrome Flex config file (.INI file), there's no need to clean up profile archives or backups. The old profile archive will be overwritten the next time a user logs off, and their old backups will also slowly be removed, as new backups take their place.
  • If you're switching to a new Flex config file for your modified Chrome configuration, you can retire the old config file. The next time a user logs out, their profile archive and backups corresponding with the old config file will be deleted.