Customize Firefox 3 for Publishing in XenApp 6

Please don’t ever tell VMware I wrote this…

I’ve been preparing a Proof of Concept for using a published browser as a method of mitigating the risk of allowing employee internet access.  I don’t make the rules, I just provide solutions to the senior management.  I won’t argue the requirement here, it’s just a requirement.  For this, I’m publishing a browser from a DMZ like network segment with full internet access via XenApp 6 and allowing, via NetScaler, internal user access.  Firefox was chosen as the browser to publish before I understood that Internet Explorer default preferences would be a lot easier to control.

This is only for Firefox 3, Firefox 4 appears to have changed the file layout and I don’t have full instructions assembled yet.  Specifically, this was created and tested on Firefox 3.6.13.

Following are modifications I’ve collected for eliminating some of the obnoxious behavior within Firefox, hopefully making it a bit more user friendly.  The following involves editing of configuration files, a text editor which properly maintains/displayed line breaks is preferred.  Try Notepad++.

  1. Disable default browser check
  2. Disable automatic updates and reminders
  3. Configure proxy settings
  4. Disable the “Welcome to Firefox” tab on first load
  5. Disable “Save Tabs” reminder on closing
  6. Disable the “Know Your Rights” button on first load
  7. Disable “Import Settings” wizard on first load
  8. Set default homepage

Collect Configuration Files

Perform an installation of Firefox somewhere other than the application server to assist in collecting the necessary configuration files.

Make a copy of the following files to a location for future use:

  1. “C:Program Files (x86)Mozilla Firefoxdefaultspreffirefox.js”  (“C:Program Files” on 32-bit O/S)
  2. “C:Program Files (x86)Mozilla FirefoxcomponentsnsBrowserGlue.js”
  3. “C:Program Files (x86)Mozilla Firefoxbrowserconfig.properties”

Create a new text file called “override.ini”.

Disable Default Browser Check

Edit firefox.js, search for the string below, replace the default value of “true” with “false”.

pref(“browser.shell.checkDefaultBrowser”, false);

Disable Update Checks

Editing firefox.js, find the following lines and change the default value of “true” to “false”.

pref(“browser.search.update”, false);
pref(“app.update.enabled”, false);
pref(“extensions.update.enabled”, false);

Configure Proxy Settings

If you need to specify proxy settings, search for “share_proxy_settings” in firefox.js.  Change default value of “true” to “false”.

pref(“network.proxy.share_proxy_settings”,  true);

Add or replace the following lines with applicable proxy definitions.

pref(“network.proxy.ftp”, “xxx.xxx.xxx.xxx”);
pref(“network.proxy.ftp_port”, xx);
pref(“network.proxy.gopher”, “xxx.xxx.xxx.xxx”);
pref(“network.proxy.gopher_port”, xx);
pref(“network.proxy.http”, “xxx.xxx.xxx.xxx”);
pref(“network.proxy.http_port”, xx);
pref(“network.proxy.socks”, “xxx.xxx.xxx.xxx”);
pref(“network.proxy.socks_port”, xx);
pref(“network.proxy.ssl”, “xxx.xxx.xxx.xxx”);
pref(“network.proxy.ssl_port”, xx);
pref(“network.proxy.type”, 1);
pref(“network.proxy.no_proxies_on”, “localhost, 127.0.0.1, xxx.0.0.0/8”);

Disable “Welcome to Firefox” Home Tab

By default a user running Firefox will see an extra tab when they open it for the first time with a page.  Eliminate this feature by adding the fowlling line to firefox.js:

pref(“browser.startup.homepage_override.mstone”, “ignore”);

Disable the “save your tabs” Dialog on Closing Firefox

Editing firefox.js, find the following lines and replace the default values with values defined below:

pref(“browser.tabs.warnOnClose”, false);
pref(“browser.tabs.warnOnOpen”, false);
pref(“browser.warnOnQuit”, true);

// 0 = blank, 1 = home, 2 = last visited page, 3 = previous session
pref(“browser.startup.page”,                1);

Disable the “Know your rights” Button

By default when Firefox is first opened it will display a bar under the tabs list with a button called “Know your rights” and some text defining it as open source software.  Edit nsBrowserGlue.js, remove or comment out the folling line.

var rightsBundle = this._bundleService.createBundle(“chrome://global/locale/aboutRights.properties”);

Disable “Import your settings” Wizard

[XRE]
EnableProfileMigrator=false

Set Default Homepage

Set the preferred default homepage by editing browserconfig.properties, set the contents of the file with:

browser.startup.homepage=http://www.google.com

Installing Firefox

Collect the installable and three modified configuration files (override.ini, firefox.js and nsBrowserGlue.js).

  1. Execute the Firefox installer, click next and launch installer.
  2. Click Next, Custom, and keep pressing Next until you get to the default web browser checkbox, deselect the default browser checkbox.
  3. Click Next to install.  Deselect the box to Launch Firefox Now and click Finish.
  4. Open explorer and navigate to the install location for Firefox.
  5. Copy the previously customized firefox.js into the profile at “C:Program Files (x86)Mozilla Firefoxdefaultspref”, overwriting the existing file.
  6. Copy the previously customized nsBrowserGlue.js into the profile at “C:Program Files (x86)Mozilla Firefoxcomponents”, overwriting the existing file.
  7. Copy the previously customized override.ini into the profile at “C:Program Files (x86)Mozilla Firefox”.
  8. Copy the previously customized browserconfig.properties into “C:Program Files (x86)Mozilla Firefox”, overwriting the existing file.
  9. Click Next and run Firefox, verify all default settings.
  10. Close Firefox.
  11. Continue by publishing the application in XenApp.

One thought on “Customize Firefox 3 for Publishing in XenApp 6

Leave a Reply

Your email address will not be published. Required fields are marked *