Customizing Firefox – distribution.ini

In many of my previous posts about installing add-ons into Firefox, I have mentioned the distribution directory. While I’ve primarily indicated that it is a place for installing add-ons, it’s actually useful for more than that. Files in the distribution directory are what allow for custom Firefox distributions like Firefox with Twitter or anything produced by build your own browser. Besides installing add-ons with a distribution, there are two other things you can do: install search engines and customize preferences and bookmarks with a file called distribution.ini.

Customizing Firefox – Autoconfig Files

I’m doing a series where I go over each method of customizing Firefox (that I know about) and detail how it works and what it can change. Next up in our series on customizing Firefox is the infamous autoconfig file.

Before I go into detail about how autoconfig works, I want to give you a quick history lesson. This is the story of Netscape Mission Control Desktop (MCD).

Customizing Firefox – Default Preference Files

IMPORTANT: As of Firefox 21, there are two locations for default preferences, defaults/pref and browser/defaults/preferences. Because of the order in which Firefox loads files from these two locations, some preferences can’t be set in defaults/pref. If you find a preference doesn’t work in one location, try it in the other..

One of the most talked about subjects on the Enterprise Working Group Mailing List is customizing Firefox. There are quite a few different methods that people are using today, and there are more that people don’t know about.

I’m going to do a series where I go over each method (that I know about) and detail how it works and what it can change. This should allow people that are customizing Firefox to make more informed choices about which method to use.

The first method we’re going to talk about is adding default preference files.

Webconverger – Disabling File Save/Download Dialogs

One of the reasons that I enjoy my work customizing Firefox and building add-ons so much is that just about every request I get is a puzzle. They usually start with a question like “Is it possible for Firefox to…” or “Can you make Firefox…” When one of these questions is asked, I start going down the rabbitfox hole and usually end up with some way to do what the client has asked. A lot of the same questions are asked so often that most of the time the answer involves giving them something I’ve already done or piecing together things I’ve already built. Occasionally, though, I get asked to do something that I’ve never done before. And that’s a lot of fun.

Reimagining Personas (Background Themes)

I found this post I wrote a year ago that I never published. With the renaming of Personas, it seems more relevant than ever. It’s time for Background Themes to get some love.

Personas Interactive (PI) from Brand Thunder integrates tightly with the Personas support in Firefox. Because the overhaul of the Add-ons Manager in Firefox 4 caused some major changes to the Personas code in Firefox (LightweightThemeManager.jsm), I had to revisit how PI integrates with Firefox. As I was working through those changes, I realized that many of the changes I’m making should not be a part of an add-on – they should be core functionality in Firefox 4. So what I’d like to do with this post is talk about three areas where Personas support in Firefox could be greatly improved. Those areas are Website Integration, Core Functionality and Extensibility.

Understanding Add-on Scopes

In my earlier post on Integrating Add-ons into Firefox, I indicated the for some of the install methods, you have to set the preference extensions.autoDisableScopes to 0. In the comments, Blair McBride recommended against setting this preference to 0, because it would enable any third-party add-on install. Based on the feedback I’ve seen from enterprises since the release of Firefox 8, they simply want things to work the way they did before Firefox 8. to do that, you set the preference to 0. But Blair’s statement made me realize that a much better explanation of add-on scopes and the two related preferences was in order.

CCK Wizard 1.3.4 is Available

I’ve released version 1.3.4 of the CCK Wizard. It’s available here.

It has the following changes:

  • Delete the previous CCK’s bookmarks upon upgrade.
  • Install plugins in the correct directory
  • Allow two CCKs to coexist
  • Much better method for overriding about:config
  • No longer use JAR files
  • Bump internal versions to 10.*

A problem was discovered after I released this where if your Company Identifier contains a dash (-), you’ll run into problems. You can either remove the -, or use the beta version I uploaded here. This wasn’t a big enough problem for me to refresh the build.

Feedback is appreciated. Support is available on

How Firefox Loads Plugins

While debugging getting plugins working again with the CCK Wizard (it broke when Firefox removed platform specific directories in extensions), I learned a lot about how plugins load within Firefox. In particular, I learned a lot how to stop Firefox from loading plugins from different locations. So I thought I would share. Note that this post is primarily about loading plugins on Windows.