XPInstall

Last updated
XPInstall (XPI)
Filename extension
.xpi
Internet media type
application/x-xpinstall
Developed by Mozilla Foundation

XPInstall (Cross-Platform Install) was 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. [1] Support for XPInstall was removed from Firefox in November 2017 with the release of Firefox 57. [2]

Contents

Overview

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. [1] XPI files allowed users to install add-ons, themes, and other extensions to customize their Mozilla applications. [3]

In early versions of Mozilla (Firefox before 0.7 and Thunderbird before 0.5), [4] 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. [5] In later versions of Firefox and Thunderbird, the install script was replaced by a chrome manifest and a resource description framework file (install.rdf). [6]

Deprecation

In August 2015, Mozilla announced plans to deprecate add-ons based on XUL, XPCOM, and the Add-on SDK in favor of a new WebExtensions API. [7] Mozilla cited several reasons for the transition:

Impact

The transition to Firefox 57 affected thousands of extensions. [8] Many popular add-ons were rewritten using the WebExtensions API, while others were discontinued because their functionality could not be replicated within the more restrictive WebExtensions framework. [9] The change was controversial within the Firefox community, [10] with some users and developers praising improved cross-browser compatibility while others criticized the loss of customization capabilities. [11] Some users migrated to Firefox forks such as Pale Moon and Waterfox, which continued to support legacy extensions. [12]

Legacy

The .xpi file extension continues to be used for WebExtensions in Firefox. Modern XPI files contain a manifest.json file instead of install.rdf and use the WebExtensions API rather than XUL/XPCOM. Several applications maintained XPInstall support after Firefox discontinued it:

See also

References

  1. 1 2 File.org (2023-02-24). "XPI File: How to open XPI file (and what it is)". file.org. Retrieved 2024-02-23.
  2. Cimpanu, Catalin. "Old Firefox Add-Ons Will Stop Working in Firefox 57, End of 2017". BleepingComputer. Retrieved 2025-11-11.
  3. "XPI - Mozilla | MDN". developer.mozilla.org. 2016-10-04. Retrieved 2025-11-11.
  4. "CVE-2011-2375". vulmon.com. Retrieved 2025-11-11.
  5. "CERT/CC Vulnerability Note VU#648758". www.kb.cert.org. Retrieved 2025-11-11.
  6. "Install Manifests - Mozilla | MDN". developer.mozilla.org. 2016-10-26. Retrieved 2025-11-11.
  7. Needham, Kev (2015-08-21). "The Future of Developing Firefox Add-ons". Mozilla Add-ons Community Blog. Retrieved 2025-11-11.
  8. Brinkmann, Martin (2017-04-27). "If Firefox 57 would be released today, 2273 add-ons would be compatible - gHacks Tech News". gHacks Technology News. Retrieved 2025-11-11.
  9. Cimpanu, Catalin. "Old Firefox Add-Ons Will Stop Working in Firefox 57, End of 2017". BleepingComputer. Retrieved 2025-11-11.
  10. "Mixed Feelings Greet Mozilla's Add-ons Overhaul". InfoQ. Retrieved 2025-11-11.
  11. "Firefox 57: Good news? It's nippy. Bad news? It'll also trash your add-ons". Archived from the original on 2025-08-09. Retrieved 2025-11-11.
  12. Brinkmann, Martin (2019-10-25). "Waterfox development splits into Classic and Current branches - gHacks Tech News". gHacks Technology News. Retrieved 2025-11-11.