Hacking Firefox Add-ons Extensions to support future Firefox Versions

Mozilla Firefox permits, even encourages the use of add-ons, whether they are Add-ons or Extensions, Themes, or Plugins. To add Extensions, click on Tools > Add-Ons > Get Add-ons. Most plugins listed are created and verified for use for version 2.0.x of Firefox. However, many plugins have not been updated or verified for use with the Firefox 3.0 Beta5 release of Firefox. To get an Extension to work in Firefox 3.0 Beta5 or other 3.0.x builds, the change is simple.

xpi-2

The above is a screenshot of Extensions that are not available for use in Firefox 3.0 Beta5. However, note that FEBE 5.3.1 is available. It originally is not. I made the following change to the extension to permit the use and verified that the extension does function as it is designed to do.

Here are the steps taken to make the changes:

  • I used FEBE on Firefox version 2.0.x to save all my extensions. The extensions have the .xpi extension. These files are archives and can be opened with most archivers.

  • Rename the .xpi file to .zip and extract the file to a folder.

  • Edit the install.rdf file to indicate compatibility with Firefox 3. Edit the maxVersion section.

xpi-4
  • Then rezip the file, rename to .xpi.
  • Reinstall your extension.

Although it is possible to have Firefox 3 recognize extensions verified for earlier versions of Firefox, the extension may not function (or break). Anyway, I have tested with FEBE and Selenium IDE with success.

Source

Update: May 16, 2008
It seems that there are a couple of more things to edit while making changes to the install.rdf file for the Firefox extension. Although the above information did work for me, after restarting Firefox, the extensions would be checked against the servers and deactivate as the version number was not recognized to work with Firefox 3 Beta 5. So, I changed the version number to one higher and that worked.

ffox2

This worked in each and every extension that I had updated except for one, where I had to make one additional change. The extension is for Webtest Recorder for Canoo. There is an additional field in the description section of the install.rdf file that I commented out. The field is em:updateURL. After the comment out, the extension updated successfully. Before the comment out, I received an error.

In summary there are at least three fields that I have modified for a successful update to an extension.

  • em:updateURL – commented out.

  • em:version – added one the version

  • em:maxVersion – changed to a value that supports all version 3 (3.0.*)

ffox3

The example of all the extensions modified and operational from Firefox 2.0.* to Firefox 3.0.*.

Update: This approach is still applicable. Particularly since Firefox is released as a new major version several times a year. This has been tested through Firefox 10.

Another example is Molydenum 0.7.3, which hasn’t been updated in several years. As with the example above, simply open the archive with 7-zip, edit the install.rdf and change the maxVersion from the default value of 3.5.* to some value that will not require updating for awhile, in my teset 20.5.* worked great. Save this install.rdf into the xpi and drag and drop it over Firefox. It will install automatically. Works great.