XPInstall
XPInstall is a technology used by the Mozilla Application Suite, SeaMonkey, Mozilla Firefox, Mozilla Thunderbird and other XUL-based applications for installing Mozilla extensions that add functionality to the main application.
A XPI installer module is a ZIP file that contains an install script or a manifest at the root of the file, and a number of data files.
In Mozilla, Firefox before 0.7, and before 0.5, the package contained a JavaScript install script with some directives for actions to take during an install, including adding files and directories, removing old or obsolete files and directories, executing command line tools, etc. In more recent Firefox and Thunderbird versions, the install script has been replaced by a chrome manifest and a RDF file.
Since Firefox 1.0, XPIs from sites other than Mozilla Add-ons are blocked by default. This was an attempt to prevent malicious programs, like computer viruses, Trojans and spyware, from being installed by novice users. While it is possible to put a site into the whitelist that limits sites which can install XPIs, malicious sites cannot install extensions in the background. This is because a confirmation dialog needs to be answered for every single installation of an extension.
However, users are still advised to install extensions from trusted sources only.Applications with built-in support for XPInstall