MozillaZine

Packaging extensions

From MozillaZine Knowledge Base

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).

Before releasing extension, you need to package it into an XPI file, so that others can easily install it with a few clicks.

Mozilla.org provides the most comprehensive technical document on packaging extensions. It explains the format of the install.rdf manifest for those wishing to create one from scratch. See install.rdf page for the list of tools and a template that make it easier to create an install manifest.

The Extension Manager—and hence the extension/theme packaging system—underwent a major revision with Firefox 0.9 and Thunderbird 0.7. If you wish to support earlier versions of these products, or the Mozilla Suite, you will need to provide the old-style install.js file as well as the new install.rdf.

The whole process for the new packaging system is made clear in both roachfiend’s tutorial and Jonah Bishop's toolbar tutorial. Jed Brown has a tutorial on repackaging old extensions in the new style.

There are also tools which will automatically package your extension files: bash build scripts, Windows build script, Googlebar Lite Perl build script, and a makefile.