If you’re locked into using Internet Explorer on your network, for whatever reason, you’ll probably find that there are some websites that simply don’t work properly, and ask you to install a “modern browser” like Firefox or Chrome.
Thing is, allowing other browsers on your network is fraught with technical support issues, especially if you use other systems that insist on only working properly in IE (like some Sharepoint stuff). You can’t rely on users to always use the right browser for the right task.
We had this problem recently, as we wanted to start using the excellent Codecademy but it blows raspberries at IE users and tells them to go away. My first thought was to install Chrome, but for the reasons already given (and the fact the more-easily-locked-down Portable Apps version doesn’t work from a network share) I didn’t really want to do that.
My next suggestion was Chrome Frame. It’s an extension for Internet Explorer which you can configure to replace the IE HTML renderer with, so although the web pages open in IE, they’re actually rendered by Chrome. This means that, to the user, there’s only one browser. Of course, it needs to be configured to only trigger Chrome’s renderer for those sites you need it for, rather than all sites, otherwise you may as well just replace IE with Chrome completely.
There are two issues here then – how to deploy Chrome Frame on a network, and how to configure it centrally to only trigger when needed.
Deploying Chrome Frame
Luckily, Google provide a useful MSI package of Chrome Frame here. You can roll this out in a group policy like other MSIs, or run it on each machine either manually or with a script. Unfortunately, it tries to update itself when you do so and invariably (if you’re in an internet-restricted environment like a school) will hang for ages then probably crash. You can stop this, however.
To do this, you’ll need an MSI property editor such as the free Orca (which you can find here) and open the Chrome Frame MSI in it. In the Tables column, choose Property, and then the right-hand pane right click and choose Add Row. Enter the Property field as NOGOOGLEUPDATEPING and the value as 1. Click OK and save the MSI. Now you can deploy it!
Configuring Chrome Frame
The best way of doing this is with a new group policy. Firstly, download the Google Chrome ADM/ADMX files from here (you want the Zip file, not the Mac stuff, obviously). If you’re using the ADMX files, you’ll need to copy them to %systemroot%\PolicyDefinitions before the group policy editor will see them. ADM files can just be opened as normal with “Add/Remove templates”.
These group policy files will actually let you configure all sorts of things for Chrome as well, but some of the settings are specific to Chrome Frame. In particular, you want to look at:
User > Configuration > Policies > Admin Templates > Google > Google Chrome > Default HTML renderer for Google Chrome Frame
The first setting, Default HTML renderer, determines whether web pages are rendered by the host browser (i.e. IE) or Chrome by default. For my purposes, I wanted IE to render except on certain pages, so chose Host.
The other settings are the exception sites to the above. Since I have Host as the default, I only need to configure the Always render in Chrome Frame options. You do this by providing URL patterns to match.
For example, I want all of Codecademy to render in Chrome Frame, so chose *.codecademy.com* as my pattern. See here for more pattern examples.
Remember to assign this new group policy to your users, and once Chrome Frame has rolled out, you should find your chosen sites now render in Chrome!