How to Fix Google Chrome

Chrome is so good, it shouldn’t be annoying!

© 2012 by KV5R. Rev. July 24, 2012.

Chrome is great and I love it. But there’s a few things that I, and lots of other people, don’t like. I’ll cover some of them here. Is it legal? Yes, Chrome is built from the open source Chromium, and you can mod it if you want to. You can even get the sources and compile it from scratch if you want to, and you can distribute your modded version. But we won’t be compiling a custom Chrome replacement here, just tweaking things a bit.

Problem 1: Can't view Word documents

Download and install Ultimate Google Docs Viewer.


Problem 2: New Tab Doesn’t Display Your Homepage

I have a local custom homepage where I put links to all the stuff I use. I set Chrome to use it as my homepage upon start-up. But alas, when opening a New Tab, Chrome displays its built-in New Tab page, with all those stupid “most visited” thumbnails and other stuff I never use. I want it to open my homepage every time I open a new tab, not just upon start-up. People have been complaining about this since 2008 and apparently the Chrome crew simply refuses to make it an option.

This is really pretty easy to fix. Chrome’s new page code is loaded from a resource in chrome.dll. To hack it, do this:

  1. Download and install Resource Hacker (free!).
  2. Locate chrome.dll in the program files folder where Chrome is usally installed:
    c:\Documents and Settings\"username"\Local Settings\Application Data\Google\Chrome\Application\latest.version.number
    c:\Program Files\Google\Chrome\Application\latest.version.number
    c:\Program Files (x86)\Google\Chrome\Application\latest.version.number
  3. Copy it to chrome.orig.dll as a backup.
  4. Run Resource Hacker and open chrome.dll.
  5. Find (Ctrl-F) the text It's important that this be the first script loaded (or very similar; they might change it in later versions).
  6. Put this line right below the “It's important that…” line (make sure it’s above the first <script> tag):
    <script>window.location = 'http://localhost/';</script> (replace localhost with your desired homepage URL). It forces an immediate redirect and ignores the remainder of the new tab resource.
  7. Click Compile then menu File, Save chrome.dll. Start Chrome and test it by opening a new tab.


Problem 3: You Can’t Make Chrome Put Its Data or Cache Elsewhere (Oh yes you can!)

Change UserDataDir by using the Registry.  This only works if only one person and/or profile is using Chrome or multiple profiles are using the same UserDataDir.

After changing your UserDataDir Chrome will come up like a new install. To get all your settings (bookmarks, history, etc.) into it, close Chrome and move all the stuff in "c:\Documents and Settings\???USERNAME???\Local Settings\Application Data\Google\Chrome\User Data\Default\Cache" IN XP or "c:\Users\???USERNAME???\AppData\Local\Google\Chrome\User Data\Default\Cache" (in Vista, WIN7 or WIN8) to the new location, overwriting what Chrome put therein. Then fire up Chrome and verify all your settings, bookmarks, extensions, etc., are working.

2. Use Command Line Switches

You can use Chrome command line switches for anything listed that’s not in Policies\Google\Chrome in the registry (which override command line switches).

3. Relocate ALL of Chrome to Another Drive

This method is somewhat complex, but has the advantage of being portable and completely self-contained, id est, you can pull your external drive and take it with you, settings and all, and use it on another computer without leaving any traces on the host system.

  1. Note: in each case below, replace H: with your actual hard drive letter.
  2. Download and install GoogleChromePortable to the hard drive, from Don’t run it yet.
  3. Look in the H:\PortableApps\GoogleChromePortable\ folder for help.html and read it. Migrate your existing profile, as it says.
  4. Copy H:\PortableApps\GoogleChromePortable\Other\Source\GoogleChromePortable.ini to H:\PortableApps\GoogleChromePortable\.
  5. Open it in an editor and look for lines RunLocally=true and CacheInTemp=true and change them both to false. Save and exit.
  6. Now run GoogleChromePortable.exe (double-click it) and look in your C:\Users\your-username\AppData\Local\Temp\ and verify that no GoogleChromePortable folder exists therein. Also, make sure your profile and settings stuff in GoogleChromePortable are all as expected (homepage, bookmarks, extensions, etc).
  7. Now you can completely uninstall Chrome from the SSD, using Control Panel. Your default browser will revert to Internet Explorer, but we’ll fix that later.
  8. To make a handy icon, go to \PortableApps\GoogleChromePortable\, right-click GoogleChromePortable.exe, Send to… Desktop (create shortcut), then you can use it there or drag it into the menu system or pin it to the taskbar, as desired.
  9. To set it as your default browser is a little more complicated. If you make GoogleChromePortable your default browser, Chrome will use the wrong path in several places in the registry, and it simply won’t work. In that case, you need to edit the registry. Be careful, and make a restore point first, if you are new to registry editing.
    1. Run GoogleChromePortable and if it asks to make it your default browser, do so, else click the wrench, Settings, and make it default there.
    2. It will write registry entries, but they will be wrong. The entries need to point to GoogleChromePortable.exe, not \App\Chrome-bin\chrome.exe.
    3. Run regedit and Find (in Data) H:\PortableApps\GoogleChromePortable\App\Chrome-bin\chrome.exe and change it to H:\PortableApps\GoogleChromePortable\GoogleChromePortable.exe in about 11 places.
      • Most of those keys will have -- "%1" after the exe, don’t remove it.
      • The ones to change will look like: "H:\PortableApps\GoogleChromePortable\App\Chrome-bin\chrome.exe" -- "%1"
      • Change them to look like: "H:\PortableApps\GoogleChromePortable\GoogleChromePortable.exe" -- "%1"
      • You can change the first one found, select and copy the changed text, then just paste it into the remaining ones.
      • Keep hitting F3 to find the next, ’til all are found and changed.
      • Do NOT replace the ones that say \PortableApps\GoogleChromePortable\App\Chrome-bin\chrome.exe,0 — this is a path to an icon, which is in chrome.exe, not the launcher GoogleChromePortable.exe, and you don’t need to change the icon location that Windows uses for Chrome.
      • Lastly, open an email or something with a link in it, click it, and see if it runs GoogleChromePortable.exe, not chrome.exe.

Note that the automatic Google Updater does not work with GoogleChromePortable, so check with every few months to see if there is a later version there.

Fix Google Update

Google Updater is another example of Google’s heavy-handedness. It wants to check for updates ever hour! Fixing this is easy:

  1. Go to Start, All Programs, Accessories, System Tools and run Task Scheduler.
  2. In the left pane, click Task Scheduler Library.
  3. In the right pane you’ll see two GoogleUpdateTask entries.
  4. Double-click one and click the Triggers tab.
  5. Double-click the trigger’s Description to open the Edit Trigger dialog box.
  6. Set it to Weekly and pick a day.
  7. If Repeat Task Every is checked, uncheck it.
  8. To completely disable all Google Updates, uncheck Enabled at the bottom of the Edit Trigger dialog box.
  9. Now Ok all that and then do the other one.
  10. Now Google will check for updates once per week, not once per hour!
  11. When it does do an update, you’ll have to fix this again.
  12. If you turn updating completely off, you can make it check for updates manually by clicking the Wrench, then About Google Chrome.

Other Things

For a list of command line switches, see Chrome Switches.

Interesting switches to try:


Disable Chrome Silent Updates via the Windows Registry

One method to disable silent updates in Chrome is to manually add the policies to the Windows Registry.

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update "Update{8A69D345-D564-463C-AFF1-A69D9E530F96}"

This value can have 4 different DWORD settings assigned to it that describe how Chrome will be updated. These different DWORD values are:

0 - This setting corresponds to the Updates disabled policy setting. This means updates are completely disabled for Chrome.
1 - This setting corresponds to the Always allow updates policy setting. This means that updates are always installed regardless of whether they were found via periodic silent updates or a manual update check.

2 - This setting corresponds to the Manual updates only policy setting. This means updates are only applied when a user performs a manual check.

3 - This setting corresponds to the Automatic silent updates only policy setting. This means updates are only installed when they are found via the periodic silent update check.

Download and install regfile to set Chrome to Manual Updates only.