Once thought a product of ages past, the browser wars have
been reignited in full flame with the release of Mozilla Firefox. Organizations
tired of Internet Explorer for one reason or another now have a new, free
contender to help them achieve their business goals while reducing their
exposure to the latest Windows exploit. You’ve probably already read about the
multitude of reasons that organizations are moving to Firefox, or at least
installing it as a side-by-side alternative to Internet Explorer. Now, maybe
you’re considering it for inclusion on your organization’s standard desktop and
you realize then just sending instructions out to hundreds of users probably
won’t quote cut it when it comes to a proper installation and configuration of
Firefox. In this article, you’ll learn how to manage that all important initial
installation of Firefox across your company’s desktops.

The challenges

First off, as you might expect, there are decent group
policy administrative templates for Internet Explorer that aren’t easily
available for the competing product. Second, since these tools are hard to come
by at best, you need a deployment package that can provide a baseline
installation containing your company’s settings.

Finally, while Firefox is eminently customizable, custom
settings are not stored in the Windows registry where they can be more easily
used for Group Policy purposes. Instead, Firefox’s settings are stored in user
profile directories, making it more challenging to roll the product out for multi-user
installations with preset, customizable settings.

Author’s Note

In this article, you’ll learn how to deploy Firefox to your
Windows desktop using a customized installer. From this installer, you can
simply use the deployment method you use for most software on your desktops. To
work properly, your users need, at a minimum, rights to be able to create their
own profile directories on their desktops.

About FFDeploy

FFDeploy is a free solution that assists in the deployment
of Firefox. At the end of the FFDeploy process, you should have a working deployment
with a distributable version of Firefox that includes any extensions you might
want to roll out to your users.

To get started with FFDeploy, you need a few things:

  • FFDeploy.zip, available from firefox.dbltree.com
  • The latest version of Firefox downloaded from www.mozilla.org.
  • A staging computer on which you can manually deploy
    and configure Firefox to your liking. I recommend using a clean system for this
    purpose so that you don’t accidentally contaminate your Firefox rollout with
    something unanticipated. The staging computer could also be something as simple
    as Windows XP installed under VMware.

First, unpack the contents of FFDeploy.zip to some location
on your staging computer. For this example, I’ve chosen to extract FFDeploy to
C:\ffdeploy, as shown in Figure A.

Figure A

Extract the contents of ffdeploy.zip to your staging system

Next, install Firefox as you would on any other computer and
configure any options you want to make available to your users. Further, if
there are certain extensions you want to make available to your users, install
those as well.

On the initial startup, Firefox will ask you if you want to
import your IE favorites, history, and passwords. This is an important
consideration for your users, most of whom probably don’t want to lose, at the
very least, their favorites. For this part of the exercise, you can choose to
either convert your IE information, or start over with Firefox. Since this is
the staging computer only, I’ve opted to not convert my IE favorites to Firefox.
Later, though, I’ll tell FFDeploy that, when it’s installed on a user’s
computer, to convert that users favorites to Firefox bookmarks.

Figure B


I’ve opted to not import any IE information

Among some of the things I normally do with Firefox, and
that I’d want to push out to my users:

  • Set the homepage to that of my company, or another site
    like Google or TechProGuild. (Tools | Options | General | Home Page )
  • Change privacy settings to match my company’s policies. For
    example, maybe your company doesn’t believe in allowing users to store
    passwords from sites they visit. You can change this behavior at Tools |
    Options | General | Privacy.
  • Set the location for downloaded files. By default, all
    files are downloaded to the user’s desktop. Change this at Tools | Options
    | General | Downloads.
  • Install the IEview Firefox extension, which allows users
    to right-click a page and select “View This Page in IE”. This is
    particularly useful when your users try to use a site that doesn’t play
    nice with Firefox. Find this at http://ieview.mozdev.org/.
  • Install the OpenDownload extension for Firefox which
    enables Firefox to load a downloaded file directly into the native
    application. Find this at http://home.comcast.net/~ifrit/FFDeploy.zip.
  • You might have a whole list of other things to do in your
    environment. These are just a few suggestions.

With Firefox configured the way you want it for your
environment, exit Firefox and then run the FFDeploy.vbs script from the
directory into which you extracted FFDeploy. For this example, that’s
C:\ffdeploy\ffdeploy.vbs.

Tip: If you have difficulty running the FFDeploy.vbs script,
download the EXE version of the utility from http://home.comcast.net/~ifrit/FFDeploy.exe.
For this article, I was receiving error messages while running the scripted
(VBS) utility, but the EXE version ran fine. You’ll get a screen like the one
shown in Figure C.

Figure C


Make sure Firefox is closed before you continue

Click the Build button. The utility asks you to locate the
directory in which Firefox is installed. I have Firefox installed in C:\Program
Files\Mozilla Firefox.

Figure D


Locate your Firefox installation folder

After the builder script gathers information it needs to
perform its task and copies Firefox and your settings to a deployment area, it
pops up a message asking if you want to automatically import the user’s IE
favorites into Firefox upon first execution. This is particularly useful if you
want to provide a seamless transition to the new browser for your users. For
this example, I’ve selected Yes.

Figure E


Would you like to import your user’s favorites when they install Firefox?

Next, you’re presented with another choice. Would you like to
create a self-extracting EXE file with everything you’ve done thus far? This
EXE file will contain Firefox along with your customizations and extensions as
well as scripts necessary to create user profiles upon deployment to a new
machine. I’ve opted to create this EXE file as a part of my sample deployment.

The final question you’re asked relates to the user profile
creation process. The question asks if you want a user profile created
automatically once the Firefox extraction is complete. The catch: If you answer
yes, you need to run the extraction process as the user who will ultimately use
Firefox. If your users don’t have rights to create profiles, this won’t work. Also,
if you plan to push Firefox to your users using something like SMS or ZENWorks,
answer No here. The account used to push the product shouldn’t be the one you
use to create the profile. For this example, I’ve opted to automatically create
profiles.

Figure F


Would you like to create a profile immediately after extraction is
complete?

Deployment–use your normal tool

For this example, since I opted to create a self-extracting
EXE file with Firefox, I have a file named Firefox_Deployment.exe on the
desktop of the machine I used to create the deployment package. I also have a
folder named Firefox_Deployment that includes all of the files in the package. Using
either selection, I can push Firefox out to my users. For example, with the
self-extracting EXE, I can create a login script entry that installs Firefox
automatically, complete with all of the settings needed for my organization. Or,
I can use SMS, ZenWorks or Active Directory to install this self-extracting EXE
file.

Regardless of how you go about pushing the EXE file, when you
run the file on a system without Firefox, shortcuts show up in the quick launch
bar and on the desktop, and a Firefox entry is created on the Start menu. Further,
upon launching Firefox, the page you specified as the default home page comes
up. To further verify that my settings “took”, here’s a view of Tools
| Extensions.

Figure G


Firefox installed extensions after deployment

Taking the pain out of deployment

One of the biggest objections people have raised about
Firefox ultimately putting a severe dent in Internet Explorer’s market share
has been the difficulty it is to deploy Firefox throughout an organization. By
deploying Firefox using FFDeploy to build a deployment package and then
performing the actual deployment with the tool you normally use for your
deployments, you can easily get Firefox onto user desktops and have some
semblance of control over how the product is configured for your users.