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