Current Articles | RSS Feed
With adoption of Firefox on the increase, enterprise IT shops face a challenge: how to provide Firefox to their users while keeping a handle on security. To address this, we suggest creating a customized Firefox installer preconfigured with the extensions and settings approved by your IT department. This tutorial takes you through that process.
Before customizing Firefox, avoid headaches by looking carefully at which extensions best suit your needs. You, or your IT team, should also thoroughly research the Firefox settings and create a list of those you wish to include.
One of Firefox's greatest strengths is its diverse collection of extensions. Extensions such as NoScript or CookieSafe can be used to secure Firefox, while AdBlock or one of its variants could help reduce unwanted traffic to ad servers. Before building a customized installer, you will need to decide which extensions best meet your needs and the needs of your users. With an eye toward security policies and customer requests, browse the Firefox Add-on Repository and download the (Firefox 3-compatible) add-ons that best meet your needs.
Firefox offers a large number of settings, many of which aren't accessible through the standard preferences/options dialog window. To see the available options, enter "about:config" in Firefox's location bar. This will display a list of all settings. While the list is intimidating, Mozilla publishes a reference to all of the settings. Review the options and collect a list of settings for which you'd either like to set a custom default value or completely lock down to a specific value.
Once you've decided what extensions and settings you'd like in your spiffy custom installer, there are a few components you'll need.
For a custom Windows installer, grab
You'll also need copies of each extension you wish to include in the installer (the xpi files), and the list of settings and values.
Note for Mac users: I'm working on a version of this article for Firefox 3 on the Mac, but I'm still sorting out the details of repackaging a dmg file.
The settings file I'm going to describe is basically just a Javascript file with a set of calls to two Firefox-defined JS functions, defaultPref and lockPref. Unsurprisingly, the defaultPref function can be used to specify a default value for a setting and lockPref sets the value for the setting so that it cannot be changed by the user. Each has similar arguments:
defaultPref
lockPref
function defaultPref(prefName, value)function lockPref(prefName, value)so, for example, you could set the default home page using
function defaultPref(prefName, value)function lockPref(prefName, value)
defaultPref("browser.startup.homepage","http://www.mycompany.com/portal");
or, you could require that the browser always check for updates
lockPref("app.update.enabled",true);
You can find additional information about these and other preference Javascript functions for Firefox in "MCD, Mission Control Desktop AKA AutoConfig" at the Mozilla Developer Center.Use the list of settings you prepared to build a settings file. For the rest of the article, I'll refer to this file as "firefox.cfg", although you can use any name you prefer.Note: Since the settings file is a Javascript file, there are many sophisticated and clever javascript tricks you can include, but I'm not going to cover any of them.
The next step is to prepare your chosen extensions to be manually installed. For each extension,
Now we're ready to rebuild the installer.
Let's walk through the process for the Windows installer and then I'll describe the somewhat simpler process on Linux.
7za x -ofirefox-win "Firefox Setup 3.0.3.exe"
firefox-win
onlocalized\extensions\
pref('general.config.obscure_value', 0);pref('general.config.filename', 'firefox.cfg');
7za a -t7z ..\custom.7z
cd ..
copy /b 7zSD.sfx+app.tag+custom.7z FirefoxCustomInstall.exe
When you download Firefox for Linux, instead of an installer, you'll just have a tarball. This means you can untar it, walk through steps 2-4 in the Windows process and re-archive the directory.
Distribute your newly created .exe to users and you're set!
Allowed tags: <a> link, <b> bold, <i> italics