Deploying Firefox 2 within the Enterprise: Part 6

I want to cover few more topics to wrap this things up.

The first thing you might be thinking is “man that seems like a lot of work. Isn’t there something else I can do?” As I pointed out in the first post, Benjamin Smedberg’s Firefox Release Repackager is great if you are a Mac user. If you are not using a Mac, or you want to add more than two extensions, or if you need to add files to the removed-files list we talked about, you can’t use the release repackager. Here’s how to manually modify a Firefox install.

First, download a Firefox setup executable. Unpack that file into a directory using 7z.

7z x "Firefox Setup"

If you want to add files to the removed files list, do it now. Edit the file removed-files.log and add your files and directories following the syntax in the file. If you want to add extensions, you can follow the steps we outlined earlier, unzipping them in a temporary directory in nonlocalized/extensions and then renaming the temporary directory to the extension ID based on the information in install.rdf

If you are not interested in having a self extracting executable, this is actually enough. If you were to run setup.exe at this point, it would do the install, removing the files and directories you specified, and including the extensions you unzipped. If you want to create a self extracting executable, you would need to manually repackage the EXE. Unfortunately, I don’t have those steps in front of me right now. I’ll update this post if I find them.

Another problem that might arise is that you don’t mind updates coming from Mozilla, but you’d like to determine when they get pushed to your users. For instance, you might want to do some internal testing. You can actually set preferences that prevent specific updates from being offered to your users. For instance, the preference app.update.never. tells Firefox to never offer the upgrade. So you can use the CCK to set these preferences, and then update the CCK when you have verified a particular version.

What if Firefox can’t upgrade your users because it is running at the wrong permissions level? If this is the case, you’ll obviously need to create your own upgrade solution and turn off the Mozilla upgrades. To turn off the Mozilla upgrade checking, set the preference app.update.enabled to false.

Forgot one – if you want to do a silent/unattended install, invoke the installer (setup.exe or the full installer executable) with -ms.

Well, that’s about all I have. I hope you’ve enjoyed this series of posts. If you have any questions about deploying Firefox in the enterprise, please let me know.

In addition, I’ll take this moment to shamelessly plug IBM. If you are an enterprise and need help customizing and/or deploying Firefox, IBM can help. Contact me at

Please note: I reserve the right to delete comments that are offensive or off-topic.

Leave a Reply

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

8 thoughts on “Deploying Firefox 2 within the Enterprise: Part 6

  1. Do you happen to have instructions or a link for creating the “self extracting executable” for firefox. I am trying to create a customised version and am having no luck in finding instructions about how to re-create the setup.exe file. Any help would be greatly appreciated.

  2. Hi!

    I have questions regarding removed-files.log.

    How does removed-files.log works? Let say a machine has been installed with Firefox ver. In the new Firefox package(ver. , I added an entry to remove a file, let say ‘file A’.

    Does this mean, on the same machine, when I installed ver on top of ver, does it remove ‘file A’ from the current installation (ver Or, will it remove ‘file A’ during ver. un-installation?

    How to edit removed-files.log? I’ve added the following entries in the removed-files.log
    Dir: \defaults\profile\
    File: \defaults\profile\prefs.js
    However, it didn’t remove the profile folder in the C:\Document and settings\\application data\ Mozilla\Firefox\default folder.
    Is it something wrong with my entries in the removed-files.log?

    Please help me….

  3. In your scenario, the removed-files.log would be read during the installation of and could be used to remove files from BEFORE installing

    So for example, let’s say when you deployed you had added an extra file called filea.txt in the directory where firefox.exe is installed and you wanted to remove it when users installed You could add the line:

    File: \filea.txt

    and this file would be removed.

    You cannot, however, use removed-files.log to remove files from other locations on the hard drive.

    The base directory for removed-files.log is the directory where firefox is installed, so

    File: \defaults\profile\prefs.js

    Means (on a default windows install)

    C:\Program Files\Mozilla Firefox\defaults\profile\prefs.js

    What exactly are you trying to do?

  4. Actually, I want to remove C:\Documents and Settings\salina_shaharin\Application Data\Mozilla\Firefox\Profiles\XXXXXXXX.default\prefs.js.

    Reason being:
    In the new package, ver., I added 2 entries in the prefs.js:
    • user_pref(“network.negotiate-auth.delegation-uris”, “”);
    • user_pref(“network.negotiate-auth.trusted-uris”, “”);

    For upgrading from ver. to ver., the existing prefs.js(ver. is retained. So, it won’t add the 2 new entries.

    So, I plan to remove prefs.js(ver.
    Is this the correct way/plan to add the entries? Is there other way?

  5. That will be a difficult think to remove since it is in the user profile directory and you have no way to know the exact path to the file.

    What about an extension that removed the prefs?

    • Hi Mike,

      Just wondering if the removed-files.log still works the same way in Firefix version 3.6.18?

      I am trying to remove old plugin files from c:\program files\mozilla\plugins directory.

      I added the following to the removed-files.log but it didn’t remove those files:
      File: \plugins\swmenux.exe
      File: \plugins\swonce.dll
      File: \plugins\PluginPong.dll
      File: \plugins\FlashUtil10i_plugin.exe

      Any suggestions will be greatly appreciated! Thank you!