You are currently viewing a snapshot of taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to, please file a bug.

Obsolete: Building the Next Gen App Installer

This document is obsolete. It only applies to Firefox 0.8

This document describes how to build the next generation installer for your next generation Mozilla application.

The build scripts used to generate the installer are condensed versions of those used to build the Seamonkey installer. They are broken down as follows:


Generation Scripts
Firefox XPI Install Scripts, Wizard config.ini etc and Installer CFG. - known as the Configuration Path. This path is arbitrary and may vary depending on your source code structure.
Common support scripts (for generating XPI install .js files, INI files, etc) shared with Seamonkey.


To generate an installer for your next generation application you must do the following:

  1. Identify the downloadable components you wish to have present (e.g. browser, adt, langenus etc).
  2. Next you create packages-static in the configuration path for your product. This contains a section for each downloadable component and the files it contains, in the form of packages-win, packages-static-win etc from Seamonkey.
  3. Now you create the .jst template files for each downloadable component that performs the appropriate file copying, upgrading, registration, registry key tweaking etc.
  4. Edit the and other .it files to identify install options and UI strings for the installer wizard.
  5. Create a new file, installer.cfg which contains information that tells the scripts what type of file to generate, file names for the installer scripts (e.g. "FirefoxSetup.exe") etc. The format of the installer.cfg file can be found here.

Now go to toolkit/mozapps/installer/windows, make sure ActivePerl is ahead of Cygwin Perl on your path, make sure MOZ_SRC is set correctly and that your build is not using an objdir. Then run:

perl -config <configuration_path>


perl -config "C:/builds/installer/mozilla/browser/installer/windows"

This picks up the package information from the config path you provide, builds the XPIs from the .jst files, creates the wizard exe with the parameters specified in the installer.cfg file with the UI resources specified in config.ini.

- Ben Goodger (7/23/2004)