From MozillaZine Knowledge Base

(Difference between revisions)
Revision as of 22:16, 20 September 2005
Asqueella (Talk | contribs)
<-- Previous diff
Revision as of 22:16, 20 September 2005
Asqueella (Talk | contribs)
(install.rdf for themes)
Next diff -->
Line 91: Line 91:
== install.rdf for themes == == install.rdf for themes ==
-'''TBD.''' See []. The main difference is the additional "em:internalName" arc in theme's manifest.+'''TBD.''' See []. The main difference is the additional "em:internalName" arc in theme's manifest.
[[Category:Development]] [[Category:Development]]

Revision as of 22:16, 20 September 2005

This page is part of the extension development documentation project.

Ask your questions in MozillaZine Forums. Also try browsing example code.

Note: development documentation is in process of being moved to Mozilla Development Center (MDC).

Most of information here applies to install.rdf used in themes too. See below for detailed information.

Firefox 0.9, Thunderbird 0.7, Nvu 0.? and all subsequent versions of these products use the Extension Manager ("the EM") for managing extensions and themes. In order to have your extension supported by it you have to package your extensions as described in "Packaging Firefox/Thunderbird Extensions" document at (see also documentation at Devmo). This includes providing a valid install.rdf file.


Creating install.rdf using tools

You can use any of these tools:


If you choose to manually create an "install.rdf" file, you can use the template below as a guide.

<?xml version="1.0"?>
<RDF xmlns="" 

	<Description about="urn:mozilla:install-manifest">
		<em:name>Sample Extension</em:name>
		<em:description>A sample extension with advanced features</em:description>
		<em:creator>Your Name Here</em:creator>
		<!-- optional items -->
		<em:contributor>A person who helped you</em:contributor>
		<em:contributor>Another one</em:contributor>
		<em:type>2</em:type> <!-- type=extension --> 

                <!-- Firefox -->

                <!-- This is not needed for Firefox 1.1 and later. Only include this 
                     if you want to make your extension compatible with older versions -->
			<Description about="urn:mozilla:extension:file:sampleext.jar">
				<!-- optional items -->


Target applications' GUIDs

Firefox {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Thunderbird {3550f703-e582-4d05-9a08-453d09bdfdc6}
Nvu {136c295a-4a5a-41cf-bf24-5cee526720d5}
Mozilla Suite {86c18b42-e466-45a9-ae7a-9b95ba6f5640}
SeaMonkey {92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
Sunbird {718e30fb-e89b-41dd-9da7-e25a45638b28}
Netscape Browser{3db10fab-e461-4c80-8b97-957ad5f8ea47}


  • Mozilla Suite ignores install.rdf, but you ought to include corresponding targetApplication item in install.rdf if you support the Suite and are going to submit your extension to, see this thread. You still must include an install.js file if you support Mozilla Suite.
  • "SeaMonkey" is now the name of the community project, that continues working on the Mozilla Suite codebase, after Mozilla Foundation has announced it will not actively develop the Mozilla Suite any further. At the moment it doesn't read install.rdf, just as the Mozilla Suite, but it's planned to implement this in future.
  • The em:type arc was introduced in Toolkit 1.1a applications. It's used to specify the type of an item. Use the value of 2 for extensions, 4 for themes.

Items' IDs

Each extension must have an unique ID (the value of em:id arc).

Initially, it was recommended to use GUIDs for extensions IDs. To generate a GUID, you can use MS guidgen (a GUID generator for Windows NT-based systems), uuidgen (for *nix), a web-based generator such as this and this, or open your IRC client, go to irc:// and say 'botbot uuid'.

Extension Manager in Toolkit 1.5-based applications will not install extensions using arbitrary strings as their IDs. Only GUIDs and IDs of extension@domain form are now accepted. For example, the DOM Inspector has ID.


Update: in Firefox 1.5 the format of version strings was enhanced. See [2]

As stated in the official documentation on, extension versions must be of form[+]. Old-style versions like 0.5pre are invalid for Firefox/Thunderbird 1.0.

Note that in the targetApplication section, the version number for minVersion and maxVersion should be in the form x.x, such as 1.0. Requiring a specific minor version of Firefox such as 1.0.3 isn't supported. That is because the minimum and maximum versions specified in the targetApplication section are compared against the value of app.extensions.version preference, which is the same (1.0) for all 1.0.x releases.

install.rdf for themes

TBD. See [3]. The main difference is the additional "em:internalName" arc in theme's manifest.