Working on a team of Web developers lately, something keeps coming up in our browser testing: forgetting to test in older versions of Mozilla Firefox. This is becoming an even bigger issue as the Mozilla Foundation has just released the first beta of Firefox 2.0, Bon Echo. How do you install it and not wreak havoc or get messages about browser extensions and compatibility?
Firefox 2 Beta Links:
- Release Notes
- Asa Dotzler (QA lead) announement
- Discussion on Mozillazine
- On the Web Standards Project
Multiple Firefox Installs
The Mozilla Foundation made subtle changes to the rendering engines between Firefox 1.0.x, 1.5 (at the time of writing the production release), and now 2.0. Being early adopters, we developers have all upgraded. The users haven’t necessarily. Also, not thinking about it, frequently the upgrades were installed over top of the old version. Bang, we’re in the same position as testing with Microsoft Internet Explorer where we have only one version per machine. Not as severe due to market share, but still an issue if you’re serious about your UI development.
People make a big deal about how hard it is to get multiple installs of Microsoft Internet Explorer working, but it’s been an overlooked challenge so far with Firefox as well, because version to version the profiles it manages, and especially, if you use Firefox’s excellent extensions, have changed. In principle it is simpler with Firefox because you can start by simply installing into the directory of choice and executing the executable of choice. However, when the program runs it loads a profile which, in particular runs your extensions and may fail miserably disabling some, looking for updates etc.
You may have experienced this as you upgraded Firefox and it complained an extension wasn’t compatible. There’s a way around this, and it’s using the built-in features of Firefox’s profile support.
Option 1, Recommended: Multiple Profiles
Let’s assume because it’s current, you’ve got Firefox 1.5 installed to your “Firefox” folder. So let’s work back to Firefox 1.0.x.
First, I’d suggest whenever installing a version of a browser, especially when you can from scratch, install to a folder which is named for the dot-release that you’re working with. In this case, since you’re working backwards, create a folder for Firefox called “Firefox1.0.x”. When you install the next version, install to a “Firefox1.5”, “Firefox2”, and so on.
Next, create a command line shortcut with an added parameter to start the profile manager. If the default install under Program Files for Windows is followed, it’s as follows, but you’ll need to check your install directory:
“C:\Program Files\Mozilla\Firefox1.0.x\firefox.exe” –profilemanager
I like to keep a profile manager shortcut around to manage the profiles for Firefox in general, and keep in mind that it doesn’t matter which version you execute to do it, as they can all manage the profiles in your profile folder.
Execute (make sure Firefox isn’t already running, you can’t run the profile manager and Firefox at the same time) the shortcut and then either create a new profile or rename an existing profile to “Firefox1.0.x” (important: no spaces!!). It doesn’t matter what folder the profile is saved to, so skip that.
Install the software, and be sure to select “Custom” install so you can select the installation directory. Choose the folder you created above. Also, when you’re prompted for the Start Menu item, be sure to name it the 1.0.x version.
On your new install, right click on a shortcut to the newly installed version to get the properties option for the 1.0.x shortcut and change command line option to include the switch to use that profile:
“C:\Program Files\Mozilla\Firefox1.0.x\firefox.exe” –P “Firefox1.0.x”
This will launch that version of FF with the selected profile only. You may want to run the app with the “–safe-mode” qualifier on the shortcut as well, in order to specifically disable extensions which might prove to be trouble, but with a new profile, that won’t be a problem. That really only applies if you’ve renamed an older profile.
You’re not done if you’ve renamed your existing default profile (this might be done if you wanted to start fresh).
Run the Profile Manager again. Click “Create Profile…” You’ll get “Default User” as an option, and for your system to work correctly in most cases, you’ll want to use that for your newest version. Select “Don’t ask at startup”.
The “Default User” profile and the “Don’t ask at startup” is all that’s needed to get that user running each time you execute the program, so you don’t need to update any shortcuts with a profile switch for that profile.
You see a pattern here? Next time you upgrade and there’s extension issues, rename your default profile to something like “FF1.5.x” and then create a new shortcut, while also creating a new “Default User” profile.
You can optionally copy Bookmarks files etc as needed if necessary to the new profile folder so you don’t lose those.
With Firefox 2.o coming out, what I’ve done is kept my current install and Default User profile, but I created a FF2.x profile and associated that with that install to do my beta testing. Depending on what happens with extensions and profiles, I’ll rename that to “Default User” and rename my current profile to FF1.5.x”. Pretty slick.
Other Related Links
- Forum post on multiple installs
- Another blog post
- Mozillazine on profiles
- Files in profile folder
- Mozilla.Org: How to manage profiles
Option 2: Safe Mode Only
Another, simpler, option might be to always launch older versions of Firefox in what’s called “safe-mode”. This involves creating a shortcut with the command line parameter “-safe-mode” which will load the current profile but not run any extensions. I’ve had mixed results with this option as the sole solution, with the browser prompting for it to be the default application for HTML and HTTP shortcuts, so your mileage may vary.
Update: Just an update and final notes to this article.
Possibly Related Articles
commenting closed for this article