Closed Bug 289668 Opened 19 years ago Closed 11 years ago

Cross Platform XULRunner Registry

Categories

(Toolkit Graveyard :: XULRunner, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: bugs, Unassigned)

Details

From one app, I need to be able to find out about other XRE apps.

My use case is as follows: user installs extension xpi from web. Extension
install.rdf shows target app as thunderbird's GUID, not firefox's. Currently
this throws an "incompatible" error. What I would like to do is look up tbird's
guid in a XULRunner registry of installed apps, e.g.

SOFTWARE\\Mozilla\\XULRunner\\Applications\\{GUID}

with keys under that, e.g.

SOFTWARE\\Mozilla\\XULRunner\\Applications\\{GUID}\\Extensions
--> Default Directory=C:\Documents and Settings\beng\Application
Data\Mozilla\Thunderbird\Extensions\

My install function can read the "Default Directory" value out and copy the XPI
into it, so that the next time tbird starts it will detect and install the item. 

I imagine there'd be use for other properties relating to the installed
applications too - name, version numbers, etc. that other applications can use
to find out info about installed XRE apps. On Windows this could be back ended
by the Windows Registry with keys under HKCU/HKLM depending on access
requirements (so non-XRE apps can interact with it easily), on MacOSX in .plists
under /Library and ~/Library (depending on access requirements)
Oh man, this is not simple. These extensions would still be installed per-user
(in the profile)? Is this supposed to be 1.8 fodder, or a 1.9 feature?
It's simple given Ben's EM rewrite.  Each application would automatically have a
per-user XPI drop directory (e.g., ~/.vendor/appname/extensions).  The extension
would be installed into the very same directory when the application is launched.
How do we map GUID -> .vendor/appname ?
Well, I see two possibilities:

1) The XULRunner app installer could setup the registry

2) and/or we could "heal" the application registry entry each time XULRunner is
invoked for a particular application
Since the 'normal' situation will be an XUL app running as a non-admin user, I
think the best option is to have the "app registry" stored in HKCU (some
appropriate per-user store for other OSes), and updated when each app is started.

A global store /could/ be useful if the admin(s) install XUL apps globally,
however, I don't feel it is nessessary (an app the user has never run is not
that likely to be needed, f.e.).

One caution for the Windows registry keys: if they default to somewhere in the
user's profile (likely), use REG_EXPAND_SZ. :)
Assignee: darin → nobody
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WONTFIX
Product: Toolkit → Toolkit Graveyard
You need to log in before you can comment on or make changes to this bug.