This is an archived page. It's not actively maintained.

Building a Thunderbird extension 7: Installation

Warning: This content is for older versions of Thunderbird. Much of it may no longer be relevant. See for newer information.

While you are developing the extension, there are two ways you can make Thunderbird load it so you can test it as you go. You can either put the folder with the extension files directly into Thunderbird's extensions folder, or you can put a file there that tells Thunderbird where your extension is located. (In step 8 you will learn how to package an .xpi file for distribution and installation.)

To find the Thunderbird extension folder, navigate to Thunderbird's profile directory and open the extensions/ folder. Depending on the operating system it will be in one of the following locations:

  • Windows: %APPDATA%\Thunderbird\Profiles\<Profile Name>\extensions\
  • Linux: ~/.thunderbird/<Profile Name>/extensions/
  • MAC: ~/Library/Thunderbird/Profiles/<Profile Name>/extensions/
To ensure that your current mail and settings don't get messed up during testing, it is safer to use a test profile rather than your standard profile when developing extensions. Here is a Mozilla knowledge-base article that shows you how to set up multiple profiles.
If the extensions/ directory does not yet exist you need to create it.

Using a text file to reference your extension files (recommended):

  1. If you are developing your extension in a different folder (for example "...\My Documents\Code\Thunderbird Extensions\myfirstext@jen.zed\"), then you can create a text file in the extensions/ folder to point to it. The name of the text file must be exactly the same as the value of <em:id> from install.rdf. In our case the file will be named: myfirstext@jen.zed.
  2. The file must contain a single line with the absolute path of the extension. The folder that is referenced must be the same as the value of <em:id> from install.rdf.
    C:\Documents and Settings\<user name>\My Documents\Code\Thunderbird Extensions\myfirstext@jen.zed\

Putting the extension file directly into the extensions folder (alternative):

  1. After you have opened the extensions/ folder, create a sub-folder with the name of your extension. This name must be exactly the same as the id of the <em:id> field in the install.rdf file. In our case the folder will be named: myfirstext@jen.zed/. Depending on the format of your id, the folder name may also be a GUID.

Now you can start Thunderbird. Thunderbird will detect the extension and try to load it.

See Setting up extension development environment for how to set up a developer profile and enable debugging features.

You can now go back and make changes to the .xul file. When you close and restart Thunderbird they should appear.

There is also the possibility for remotly debugging Thunderbird with the Firefox debugger. Here is a Mozilla knowledge-base article that shows you how to set up remote debugging.