Extension Manager:Win32 Registry Location

Revision as of 19:54, 19 July 2005 by Callek (talk | contribs) (Additional Question.)

Overview

This document describes the Win32 registry based install location for extensions. This only applies to applications that use a 1.8 or later toolkit (e.g., Firefox 1.1).

On Windows systems, it would be incredibly convenient if extensions could be installed by third-party installers (MSIs, for example) by simply setting a registry key to point at an extension on the user's system.

This sort of method is already available to NP-API plugins and IE's Browser Helper Objects. Given the new extension manager framework for pluggable install locations, it would be trivial to support a registry based install location for extensions to Mozilla based products as well.

Proposed registry keys (using Firefox as the example):

 HKEY_CURRENT_USER\Software\Mozilla\Firefox\Extensions
 HKEY_LOCAL_MACHINE\Software\Mozilla\Firefox\Extensions

Under each of these keys, there will be a list of name-value pairs. Each name will be the GUID of an extension, and each value will be the absolute path to the corresponding extension's files.

For other applications, the above registry location would be generalized to:

 $rootkey\Software\$vendor\$appname\Extensions

Work is happening here

Questions

Q: Instead of using $vendor\$appname, should we use the application's GUID?

Q: How do we deal with the fact that Thunderbird doesn't specify "Mozilla" as its vendor in its XRE app data structure.

Q: How do we deal with what version of a given app the extension should install into?