The main role of the Firefox installer is to get a user running Firefox as quickly and reliably as possible, while taking all necessary steps to make Firefox an integrated part of the system.

It turns out that the only platform where we need an installer in order to accomplish all of that is Windows. So we only develop and ship and installer for Windows, and on other platforms we distribute a package in a non-executable format typical of applications distributed on that platform.

Currently, the installers are built on the NSIS installer framework. This is a Windows-only framework which compiles scripts written in its custom language (along with some native plugins) into an executable installer.

We build two different kinds of installers, the Stub Installer and the Full Installer. The stub is the default installer intended for most individual users, and the full installer is aimed at power users and administrators who need more control.

There’s also a third installer-related program, which is called helper.exe. It’s also written in NSIS and has a few different jobs that involve maintaining things that the installer sets up, including the uninstaller and a post-update routine.