I figured out how to get a silent scripted deployment of Firefox working with some customizations starting with version 15. All was well and good until last week when version 21.0 of Mozilla’s browser came out. In something that didn’t quite make the release notes, Firefox 21 restructured the internal folder structure of the installer. The purpose behind the restructure was to support Mozilla’s development of a desktop application and a metro application.
As a result, some of the customizations I had made in the installer, like the homepage, search plugins, and not using the profile migrator no longer took effect.
Bug 755724 tracks the change with less direct information about the folder changes. It does include the conversation on what we can expect from the metro Firefox though. If you dig down into one of the attachments on the bug, you can view how the folders have changed.
Mike Kaply summarized some of the changes:
- defaults/preferences -> browser/defaults/preferences
- defaults/profile -> browser/defaults/profile
- extensions -> browser/extensions
- searchplugins -> browser/searchplugins
The override.ini file also goes in the browser subdirectory. That file is what I use to control the profilemigrator.
So, to summarize the customization and deployment process:
- Download the Firefox setup.exe
- Right-click and go to Properties and ‘unblock’ the file
- Using 7-Zip, extract the archive to a folder.
- Copy in your customized files to the respective locations. For example, I copy my search engine .xml file into core/browser/searchplugins now and override.ini into core/browser. With the core folder alongside the setup.exe, your customizations will get carried forward during the install.
- Using a script to install Firefox silently using setup.exe -ms
Of other note, as Ghacks wrote, people may run into problems with their plugins or extensions in Firefox 21 because of the folder location change. The plugins can either be moved into the new folder structure or the setting plugins.load_appdir_plugins can be changed in about:config to include the root folder though this is discouraged.
All said and done, my Firefox customizations are back in place but the change did cause a hiccup until I noticed the change and could research how to adapt. It certainly would have been nice if there was more of an announcement about this instead of being such a subtle change with not-so-subtle outcomes.