Building a Thunderbird extension 3: install manifest

This article is in need of a technical review.

The install.rdf file is an XML file that provides general information about the extension.

This file is an XML file that provides general information about the extension. If you used the Add-On Builder as described in the previous step, open the install.rdf file that was in the archive package in a text editor. The values in the elements described below were inserted based on the values you supplied on the form. The file also contains some additional, optional elements that you can ignore.

If you used the alternative way (manual creating files) do the following:
Open the file called install.rdf that you created at the top of your extension's directory hierarchy and paste the following text into the file:

<?xml version="1.0"?>

<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>myfirstext@jen.zed</em:id>
    <em:name>My First Extension</em:name>
    <em:version>1.0</em:version>
    <em:creator>jenzed</em:creator>
   
    <em:targetApplication>
      <Description>
        <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
        <em:minVersion>1.5</em:minVersion>
        <em:maxVersion>5.0.*</em:maxVersion>
      </Description>
    </em:targetApplication>
   
  </Description>      
</RDF>

 The following items (shown in bold) should be customized for your application:

  • <em:id>myfirstext@jen.zed</em:id>: This is the ID of the extension. The first portion is the short name of the extension and must be in lowercase; the last portion is a two-part period-delimited value such as your first and last name or the top-level domain of your website. While this value is in email address format, it is not an email address. It should, however, be a unique value so that it does not conflict with other extensions. 
  • <em:name>My First Extension</em:name>: The extension name is displayed in the Thunderbird add-on Manager.
  • <em:version>1.0</em:version>: This is the version number of your extension. It must be updated each time you release a new version of your extension. It is not the Thunderbird version number (which is stored in the minVersion and maxVersion fields).
  • <em:creator>jenzed</em:creator>: This optional value is used to store the extension author's name.
  • <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>: This element contains the version id of the application that this add on is developed for. It is defined by Mozilla. A list of valid application ids can be found here. Normally the id does not change and is always the same even for different versions of Thunderbird.
  • <em:minVersion>1.5</em:minVersion>: This element indicates the earliest version of Thunderbird for which the extension is intended to work. Do not use a wildcard (such as "*"). See Valid Application Versions for a list of the supported version numbers and formats.
  • <em:maxVersion>5.0.*</em:maxVersion>: This element indicates the most recent version of Thunderbird for which the extension is intended to work. This cannot be higher than the currently available version. "5.0.*" indicates that the extension works with Thunderbird 5.0 and any subsequent 5.0.x releases. See Valid Application Versions for a list of the supported version numbers and formats.

There are more optional elements that can be specified in install.rdf. These are described on the Install Manifests page. Note that elements can be specified in any order, as long as they are children of the <Description> node.

Document Tags and Contributors

Last updated by: wbamberg,