Before WebExtensions, a Firefox add-on described itself in install.rdf,
at the top of the archive. Firefox stopped loading these add-ons in version 57, but old
packages are still found. They often have a chrome.manifest beside it.
Structure
The file is an RDF document. Its details are in a Description element
whose about attribute is urn:mozilla:install-manifest, with
the properties in the namespace http://www.mozilla.org/2004/em-rdf#. Each
property can be written as a child element, or as an attribute of the
Description.
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>sample@example.org</em:id>
<em:name>Sample Add-on</em:name>
<em:version>1.0</em:version>
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>3.0</em:minVersion>
<em:maxVersion>3.6.*</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF>
| Property | Holds |
|---|---|
em:id | The add-on’s ID. |
em:name | Its name. |
em:version | Its version. |
em:description | A short description. |
em:creator | Who made it. |
em:homepageURL | Its home page. |
em:updateURL | Where to look for updates. |
em:optionsURL, em:aboutURL | The add-on’s options and about pages. |
em:type | A number saying what kind of add-on it is. |
em:targetApplication | One for each application it works with: em:id, em:minVersion and em:maxVersion. |
The application ID {ec8030f7-c20a-464f-9b0e-13a3a9e97384} is Firefox.
install.js
Older packages have no install.rdf. They hold an
install.js script that ran under Mozilla’s XPInstall installer and
carried out the installation itself.