Latest Additions

August 24, 2010
Peer-to-peer
Commonly abbreviated to P2P is any distributed network architecture composed of participants that...
August 18, 2010
SEO Getting Traffic
A primary key to being successful online is the traffic You have to find a way to build traffic...

Site Search

Suggested Reading

Pages linked to here

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 with a XULRunner command-line flag "-install-app".

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.

[APP]
This section specifies metadata about the application. It contains many REQUIRED Key=Value pairs.

Name
This key is required and specifies the application name, on certain operating systems this is the name which shows when you minimize and restore your applications, or switch applications.

Examples:
 Name=Test Application
 Name=TestApp

Version
This key is required and specifies the application version number. The value consists of one or more version parts, separated with dots.

Examples:
 Version=1.0
 Version=1.0a
 Version=2.1pre1b

BuildID
This key is required and specifies a unique build identifier. This is typically a date identifier, and should be different for every released version of an application.

Examples:
 BuildID=20100310
 BuildID=1100310
 BuildID=1268255569

If you want an idea of how to come up with a BuildID, you could use Unix Timestamp Converter, as I did in the 3rd example.

ID
This key is required and specifies a unique application ID. The application ID, like extension IDs, can be formatted either like an email address or a UUID. The email format is recommended for newly developed applications.

Examples:
 ID=ApplicationName@vendor.tld
 ID={12345678-1234-1234-123456789abc}

Vendor
This key is optional and specifies the application vendor.

Examples
 Vendor=Brain Patchwork DX
 Vendor=3F Labs

Profile
This key is optional and specifies the path to use for the application's profile, based within the user's application data directory.

Examples:
 Profile=MyAppData
 Profile=profile.dat

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

MinVersion
This key is required and 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 built the application.

Examples:
 MinVersion=1.8
 MinVersion=1.9.2

MaxVersion
This key is optional and specifies the maximum XULRunner version needed by this application. The default is any XULRunner less than 2.0.

Examples:
 MaxVersion=1.9.0.*
 MaxVersion=1.9.2

[XRE]
The XRE section is optional and specifies various features of XULRunner start-up than can be enabled.

EnableExtensionManager
This key is optional and specifies whether to enable extensions and extension management. Legal values are 1 and 0, where 1 is on and 0 is off. The default is 0 (off).

Example:
 EnableExtensionManager=1

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

EnableProfileMigrator
This key is optional and specifies whether, when the application is launched for the first time and there are no profiles, to enable profile migration code through the nsIProfileManager interface. Legal values are 1 and 0, where 1 is on and 0 is off. The default is 0 (off).

Example:
 EnableProfileMigrator=1

  • Note: The application author is responsible for implementing the nsIProfileMigrator interface; if an implementation is not found no migration will be performed.

[Crash Reporting]
The Crash Reporting section is optional. XULRunner application authors who wish to use crash reporting server.

Enabled
This key is optional and specifies whether to enable or disable crash reporting. Legal values are True or False. The default is False.

Example:
 Enabled=True

ServerURL
This is key only required with Enabled is True. It specifies the complete web URL for submitting crash reports.

Example:
 ServerURL=https:your.server.url/submit

  • Note: because crash reports can contain private data including passwords, in production environments they should only be sent via https.

This topic was last modified on 03-10-2010 and has had 67 hits. These are popular related words: