XUL Application Packaging

XULRunner application packages are standard toolkit bundles (like a Firefox extension), with one additional manifest file (application.ini) which helps describe the application. XUL app packages are typically ZIPped into an archive with the extension .xulapp or .xpi. They can be installed to XULRunner with a command line flag "--install-app" if XULRunner is registered on the system. See Command Line Options for more details.

Note: For instructions on deploying your applications see Deploying XULRunner.

application.ini

The application.ini manifest is located at the root of the extension and provides metadata that allows XULRunner to launch the application properly. It is parsed as a Windows-style INI file with [Headings] and Key=Value pairs. Lines beginning with ; or # are treated as comments.

A sample application.ini file can be found in the mozilla source tree.

The [App] section

The App section specifies metadata about the application

Name
Specifies the application name.
REQUIRED
Name Example: Name=TestApplication
Version
Specifies the application version number.
REQUIRED
See Toolkit version format for version numbering details
Example: Version=0.1
BuildID
Specifies a unique build identifier. This is typically a date identifier, and should be different for every released version of an application.
REQUIRED
Example: BuildID=20060201
ID
Specifies the unique application ID
REQUIRED
The application ID, like extension IDs, can be formatted either like an email ApplicationName@vendor.tld or a UUID {12345678-1234-1234-1234-123456789abc}. The email format is recommended for newly developed applications.
Example: ID=TestApplication@example.tld
Vendor
Specifies the application vendor
OPTIONAL
Example: Vendor=Grinch Productions
Profile
Specifies the path to use for the application's profile, based within the user's application data directory
OPTIONAL
Example: Profile=MyAppData

The [Gecko] section

The Gecko section specifies what version of XULRunner is required by the application.

MinVersion
Specifies the minimum XULRunner version needed by this application. If there are binary components, MinVersion must equal the version of the libxul SDK which is used to build the application.
REQUIRED
Example: MinVersion=1.8
MaxVersion
Specify the maximum XULRunner version needed by this application.
OPTIONAL - default value is any XULRunner less than XULRunner 2
Example: MaxVersion=1.8.0.*

The [XRE] section

The XRE section specifies various features of XULRunner startup that can be enabled

EnableExtensionManager
Specifies whether to enable extensions and extension management. Legal values are 1 and 0.
OPTIONAL - default is 0
Note: This option does not add menu items that make the extension/theme manager available in the UI; that is the responsibility of the application author.
Example: EnableExtensionManager=1
EnableProfileMigrator
Specifies whether, when the application is launched for the first time and there are no profiles, to enable profile migration code through the nsIProfileMigrator interface. Legal values are 1 and 0.
OPTIONAL - default is 0
Note: The application author is responsible for implementing the nsIProfileMigrator interface; if an implementation is not found no migration will be performed.
Example: EnableProfileMigrator=1

The [Crash Reporting] Section