XPInstall

XPInstall (Cross-Platform Install) 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.

XPInstall (XPI)
Filename extension
.xpi
Internet media type
application/x-xpinstall
Developed byMozilla Foundation

A XPI (pronounced "zippy" and derived from XPInstall) 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 (install.js) 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 (install.rdf).

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 (without human intervention). 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

Web browsers

Other applications

gollark: There are a few projects derived from it removing those.
gollark: But still has Google bits. Fewer, at least!
gollark: It would be very ironic to worry about privacy and stuff and then use a browser from a company which is literally in the business of data mining and advertising.
gollark: Yes, which is good.
gollark: Android is... annoying... and I don't think anything below Android 10 supports it.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.