More MAJOR changes coming in Firefox 21

In my previous post, I talked about the moving of some files for Firefox 21. Due to some major bugs related to partner builds, the distribution directory was moved back. So you no longer need to move distribution files into the browser directory. So here’s a summary of what has changed:

  • defaults/preferences -> browser/defaults/preferences
  • defaults/profile -> browser/defaults/profile
  • extensions -> browser/extensions
  • searchplugins -> browser/searchplugins
  • plugins -> browser/plugins

I’ve also been asked about the file override.ini – this file should now be placed in the browser subdirectory as well.

Remember, Firefox 21 is scheduled to be released tomorrow.

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 *

51 thoughts on “More MAJOR changes coming in Firefox 21

  1. Are you sure you don’t need to move the distributions folder to the browsers folder? My extensions didn’t show up until I moved the distribution folder to the browsers folder.

    Perhaps I need to double check a few things since I am bit new to this.

    • Are you using the beta or the official release from yesterday?

      Up until the official release, distribution was in browser.

      • Bit of face palm… I did download the beta but also the full version. I was working on sending out a new deployment package but instead of working on the full release I was working on the beta.

  2. Hi Mike,

    i just had some problems adapting our Firefox 20 installation for the new Version of FF 21. I wasted a lot time trying and searching the web till I found your page -.- (I bookmarked it immediately)

    Thanks for the information and please keep it going!

  3. Hey Mike,

    Could you tell me which subdirectory “override.ini” should be placed?

    I have made a appv sequence. In previous versions, this file placed on the location of “Firefox.exe”

    Thanks! Regards Henri

  4. How do I deploy a custom userChrome.css with Firefox 21?

    I used to create the chrome subfolder within defaults/profile/ which doesn’t seem to work (browser/defaults/profile/chrome/*.css) anymore. I use a userChrome.css and an additional css file via
    @import url(second_css_file.css);
    line in userChrome.css.

    Thanks!

    • The only difference is that the location of the default profile has changed as you pointed out (browser/defaults/profile/chrome).

      Otherwise, in my testing it still worked…

    • Yes, the browser directory is on all platforms.

      Going forward, my recommendation will generally be to use autoconfig for everything and put the prefs for autoconfig into defaults/pref.

      • Mike thank you so much for this post but I am still having trouble applying my custom settings to Firefox 23. Here is where I’m putting my customized files:

        mozilla.cfg —-> ProgramFiles(x86)\Mozilla Firefox
        override.ini —-> ProgramFiles(x86)\Mozilla Firefox\browser
        local-settings.js —–>ProgramFiles(x86)\Mozilla Firefox\browser

        Am I placing these 3 files in the correct directory? If not, could someone please specifically state where they need to go?

        Any help would be very much appreciated

        • I assume local-settings.js is the file that configures autoconfig?

          I’m now recommending that one go in ProgramFiles(x86)\Mozilla Firefox\defaults\pref, depending on what it has in it.

          What exactly are the prefs in it?

          • Thank you Mike for the quick reply,

            I unfamiliar with autoconfig but the settings I want to apply to Firefox are included in my mozilla.cfg file. With the new versions of Firefox, will I need to change standard customization methods of mozilla.cfg, override.ini, and local-settings.js? Below are the contents of the three files I am using to customize Firefox:

            My local-settings.js is the following:

            pref(“general.config.obscure_value”, 0);
            pref(“general.config.filename”, “mozilla.cfg”);

            My mozilla.cfg file is the following:

            //Firefox Default Settings

            // disable default browser check
            pref(“browser.shell.checkDefaultBrowser”, false);

            // set Firefox Default homepage
            pref(“browser.startup.homepage”,”www.google.com”);

            // disable password caching
            lockPref(“signon.rememberSignons”, False);
            lockPref(“signon.prefillForms”, False);

            // disable application updates
            lockPref(“update_notifications.enabled”, false);
            lockPref(“app.update.auto”, False);
            lockPref(“app.update.enabled”, false);
            lockPref(“app.update.service.enabled”, false);

            // disables the ‘know your rights’ button from displaying on first run
            pref(“browser.rights.3.shown”, true);

            // disables the request to send performance data from displaying
            pref(“toolkit.telemetry.prompted”, 2);
            pref(“toolkit.telemetry.rejected”, true);

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

            My override.ini is the following:

            [XRE]
            EnableProfileMigrator=false
            EnableExtensionManager=False

            [Crash Reporter]
            Enabled=False

            Everything I search for regarding Firefox customizations is outdated from version 21 and below. Is there a detailed, step by step updated guide that includes exactly where I need to place certain files to customize Firefox?

            • So although you’re unfamiliar with autoconfig, it’s exactly what you are using 🙂

              So the only thing that you need to change that is to move local-settings.js in to defaults/pref.

              All the other locations are correct.

              As far as a step by step guide goes, until Firefox 17 ESR is officially unsupported, the documentation is going to be mixed. Once Firefox 17 is out of support, I’ll probably update the documentation.

          • Why are you here recommending defaults/pref, where as in this initial posting you say defaults/preferences has moved to browser/defaults/preferences?

            And doubly confusing for me is that defaults/pref was itself replaced in an earlier version of Firefox with defaults/preferences.

            Thanks

            • Yes, it is confusing.

              If the only two preferences you are changing are pointing to an autoconfig and setting the obscure value, I recommend just putting them in defaults/pref (this is changed from what I used to recommend).

              If you are overriding Firefox preferences, they have to go in browser/defaults/preferences.

  5. Ok Mike – I realize I am not operating at 100% due to the meds I am taking to resolve, and the pain from, a nasty case of Strep throat but…..I am having the hardest time getting this to work even after repeatedly reading Sam’s recent post and your reply several times over.

    I am using the Firefox_Setup_24.0.exe (renamed but downloaded yesterday from Mozilla) and have the following three files, in the following locations, with the following content but am unable to get these settings applied.

    mozilla.cfg —-> ProgramFiles(x86)\Mozilla Firefox
    //Firefox Default Settings
    lockpref(“app.update.auto”, false);
    lockpref(“app.update.enabled”, false);
    lockpref(“browser.rights.3.shown”, true);
    lockpref(“browser.shell.checkDefaultBrowser”, false);
    lockpref(“browser.seach.update”, false);
    lockpref(“browser.startup.homepage”,”http://outlook.com”);
    lockpref(“browser.startup.page”, 1);
    lockpref(“chromedit.hidetoosmenu”, true);
    lockpref(“datareporting.healthreport.uploadEnabled”, false);
    lockpref(“extensions.update.enabled”, false);
    lockpref(“startup.homepage_welcome_url”, “”);
    lockpref(“toolkit.telemetry.prompted”, 2);
    lockpref(“toolkit.telemetry.rejected”, true);

    override.ini —-> ProgramFiles(x86)\Mozilla Firefox\browser
    [XRE]
    EnableProfileMigrator=false
    EnableExtensionManager=False

    [Crash Reporter]
    Enabled=False

    local-settings.js —–>ProgramFiles(x86)\Mozilla Firefox\defaults\pref
    pref(“general.config.obscure_value”, 0);
    pref(“general.config.filename”, “mozilla.cfg”);

    I install the app then I manually copy the above files to the specified destinations then launch the program and nothing appears set or locked. Can you help? Apparently I cannot see what I am missing.

    Once I get over this hurdle I hope to include all the “fancy” stuff you mentioned in one of you previous posts such as:

    Disabling private browsing?
    Disabling Firefox Sync?
    Prevent access to about:config?
    Prevent the installation of add-ons?
    Prevent access to the add-ons manager?
    Prevent access to the Web Developer menu?

    I suppose the “fancy” stuff can be accomplished via the CCK (or upcoming CCK2) right?

    I offer my thank in advance for your help along with my apologies for a long winded and varied-subject post.

    • File locations are good. but it’s lockPref, not lockpref. It’s a Javascript function call.

      As far as the fancy stuff, I would wait until CCK2. It will be much easier.

    • Ahh, I was missing the relevance of the word ‘autoconfig’. I’ve now read up on that and I’m not using autoconfig.
      (I wish it were written AutoConfig as it’s too easy to skim over, assume it means to generally ‘auto configure’, and miss the relevance of it being a specific Firefox feature)

      Thanks for your help

    • Hello,
      It worked for me when I replaced all the quotes.
      For example:
      (“general.config.obscure_value”, becomes (with “real” quotes):
      (“general.config.obscure_value”,

      • Yes, I’ve seen that problem in the past where people cut and past examples. Unfortunately WordPress “corrects” the quotes.

        You always need to make sure you’re using regular quotes and not open/close quotes.

        • Mike, I am confused.

          I want trying to update our campus to Firefox 25 using autoconfig with the exact steps I mentioned above. Everytime I open Firefox I get the error:

          ‘Failed to read the configuration file. Please contact your system administrator.’

          Has a directory changed with this new version? Do I need to alter my mozilla.cfg file? Any help would be much appreciated!

  6. Hi Mile,

    I did a local build of Firefox 24 and made an extension located at \extensions rather than browser \extensions. but it seems that the extension doesn’t work even set extensions.autoDisableScopes to 0. years ago, I made it on Firefox 13, and it did work.
    Is that caused by the change you mentioned in this post? if so, any way to make it work under \extensions rather than browser \extensions folder?

    Regards
    Neil

  7. Okay! So where do I find updated information about how to customize Firefox? For example, do I still use userChrome.css and userContent.css to configure and lock down the appearance of the browser and web content? Also what about prefs.js? Are these files still stored in the same place?

    • When I posted my previous comments I didn’t see the long list of posts that already existed. I apologize for not reading them first as I now realize that most of my questions have already been answered. However, having read all of the posts I now have new questions. One specific question has to do with different user profiles. I want to lock down Firefox for a Domain User profile but not for the local Administrator account. If I use autoconfig in the way that you are recommending here all of my settings will apply to every profile, which means that the Administrator will be locked down and I, or another desktop support technician who may not be as familiar with this advanced configuration, will have to manually undo autoconfig every time it prevents access to troubleshooting tools. So how do I customize the appearance and functionality of the browser for one user without forcing the same customization on every other user?

      • Firefox Autoconfig supports checking system variables and making decisions based on the user name, for instance.

        For the CCK2, I’m planning to support override variables so that certain features can be overridden of necessary.

    • The main difference with userContent and userChrome is that the defaults/profile directory is in a different place (browser/defaults/profile) if you are setting default values for them.

  8. Hi Mike,

    I’m using FF 26 and I’m trying to enable an extension from loading automatically by adding extension in Windows registry (Windows 7 64 bit PC). After I copy the XPI and extract it, then add the registry key, I can see that the extension is disabled by default, once I open FF.

    How can I set this to enabled automatically for every user by default?

    Thanks,
    Jim

  9. Hi Mike,

    We have some probleme with the new version of Firefox ESR (24). We package Firefox in an Windows Installer format, since the version 3.6, and we make some text change to the auto config file (mozilla.cfg) during the installation. But with this new version, when after the text change operation, Firefox doesn’t read the mozilla.cfg file correctly. The autoconfig file should it be in a specific format (utf8, ANSI, ..)?

    • Firefox doesn’t read the mozilla.cfg file by default. Are you making the changes in the default preferences file to read the mozilla.cfg?

      • Thanks for your reply Mike,
        Yes, we use a .js file in “Browser/defaults/preferences/”directory, that’s not the problem. The text change action (made by the MSI) seems to prevent Firefox from reading Mozilla.cfg file.

        • Ah, I get it.

          Can you send me the new mozilla.cfg to take a look?

          Are there international characters in the file? It does need to be UTF-8.

          Other thoughts are line endings.

          • Thanks Mike,

            I check if i can send you the configuration file (because I am not sur I be able to communicate it ).
            I test if the file is in UTF-8 after the text change action.
            I give you some exemples of lines in my configuration file:
            pref(“privacy.item.cookies”, true);
            defaultPref(“network.proxy.type”, 2);
            lockPref(“extensions.update.enabled”, false);

            What type of js comments can we use (// or /* or both)?

  10. Hi Mike,

    I’m installing FF40 and placed Local-Settings.js and Mozilla.cfg files in directory “browser/defaults/preferences” and “%programfiles%\Mozilla Firefox” respectively as you mentioned but still preferences are not set as per configuration file.
    Any help would be appreciable.