Windows – How to get Chrome favicons to appear in Windows 10 start menu

google-chromestart-menuwindows 10

I use Chrome's More tools > Add to desktop… feature a lot to pin webapp shortcuts to my desktop and taskbar and have them open in a separate chromeless window.

This works great, but when I pin the shortcut to the start menu, I get Chrome's default icon instead of the favicon.

The favicon is displayed fine on the desktop shortcut and on the task bar.

How do I get the favicon to appear on the start menu, too?

Should be a SharePoint icon

Best Answer

It looks like this issue is caused by a quirk in the standard way Windows 10 picks an icon for a tile. I found the following explanation by "Leo Vr" on the Chrome Help Forum:

The big Google-"icon" on the start-menu and the fact that for Google-apps all "icons" are the same are not caused by a fault, but are "according to spec". With the Windows 10 Threshold 2 update, Microsoft added the possibility to customize the tiles in the start menu a bit. Google uses this feature, which makes some of us unhappy.

This customizing is done by adding a file "VisualElementsManifest.xml" to the directory in which the executable resides. In our case it is the file "chome.VisualElementsManifest.xml".

When you add a program to the start menu, the following happens: - a shortcut for the program is made in the directory "....\AppData\Roaming\Microsoft\Windows\Start Menu\Programs". - a tile is made, based on this shortcut AND the before mentioned file "VisualElementsManifest.xml". This causes all shortcuts for the program "chrome.exe" to have the same big "icon".

What can we do about this?

  • in case the file"VisualElementsManifest.xml" is missing, the icon of the shortcut is used for the tile. In our case that is exactly what we want.
  • if we remove (or rename) the file "VisualElementsManifest.xml" at first nothing happens.
  • the tile is refreshed however if the shortcut is changed. (It is sufficient if the "lastwritetime" of the shortcut changes).
  • so I changed the lastwritetime using "powershell" (present in Windows 10 by default)
  • the command for this is: (ls "C:\Users\leo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Chrome-apps\Google Maps.lnk").lastwritetime = get-date
  • of course the name of the shortcut needs to be changed to the one specific for your case.

This way I got the Google-apps icons to look the way I wanted. I hope it works for you as well.

Chrome apps with correct icons

"tfenster" in the same thread also provides this handy PowerShell script (which I had to modify slightly to get working) for updating all shortcuts in the Chrome Apps folder:

foreach ($file in (ls "~\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Chrome Apps")) {
     $file.LastWriteTime = get-date
}