I still have a few old web-managed devices of which the web UI does not work (correctly) with modern browser versions. It found out that they worked fine with Firefox 17.0.9esr (yes I know that is really old) and for quite a while I kept an outdated VM available to manage them. Since the OS that runs on now also is way beyond EOL I worked out a way to use older versions of the FireFox browser (as they keep a great archive of their historic versions).
Yes, one shouldn’t use obsolete browser versions as it is not safe for normal browsing, but to access a web interface of an internal device (that otherwise can’t be managed) should be safe enough as long as one doesn’t visit other sites. In this post I will describe how I set this up and also how I ensured that the browser would not conflict with a regular installation of the Firefox Browser
Personally I don’t use the Firefox browser much though I have it installed for the odd site that does not work with Safari (yes, that happens and more and more often). As I wanted that install kept up-to-date and didn’t want the legacy version to auto-update (as the legacy web interface then also would not longer work).
Having multiple versions of Firefox running alongside requires to separate them, both their installation location as well as their profile directory (the place where Firefox stores all its settings, plugins, history, etc.). The first is easy, for the second it is required to create a separate profile in Firefox and start the legacy version with a parameter to use that version. Using different profiles also allows one to run multiple (different) version of
The idea of my approach is based on Hay Kranen’s 8-year old post on HOWTO run multiple versions of Firefox side-by-side on Mac OS X Lion. My (simplified) approach no longer relies on Automator and the steps to set things up are:
- Download the desired legacy version from the Firefox FTP Repository. Open the downloaded .dmg but and drag the
Firefox.appto your desktop
- Open up a terminal and go to the Contents/MacOS folder within the package with:
- Rename the file
mv firefox firefox-launcher
- Create a new
cat > firefox << EOF
PROFILE=\$(basename "\$(cd "\$(dirname "\$0")/../.."; pwd)" .app)
exec "\$0-launcher" -P "\$PROFILE" \$*
(executing this will generate the file with the right content)
- Make the just created
firefoxlauncher executable with:
chmod 755 firefox
- Rename the Firefox.app to include the version of the application (e.g.
- (optional) Move the created .app to /Applications (or ~/Applications) if you don’t want it on your desktop.
If you have another version of Firefox installed, it may not appear in Launchpad (which is great in my case). To open it, search for it using Spotlight (search). You can pin it to the dock if you need it often.
The first time you the legacy version of Firefox, a popup will appear to select the Profile to use. In this screen, you should create a new one named the same as how you have renamed
Firefox.app to in step #2 above without the
Please note that the legacy version of Firefox will try to update itself once it is running so you have to disable automatic updates as soon as possible when you start it (or you can start all over 🙂 ). This must be done in Firefox through Preferences –> Advanced –> updates or by browsing to
about:config and changing the setting of