Method to install multiple Firefox extensions or addons in with least user intervention?

Go To StackoverFlow.com

2

The Question:

How do I install multiple Firefox extensions into a fresh Firefox v11+ profile, with the least amount of user wasted motion (reduced mouse clicks and keyboard presses) other than the bare minimum for verifying security constraints (e.g., a single "scare" prompt)?

The Constraints:

  1. The methodology should be exactly the same on both Linux and Windows installations of Firefox, and not require administrators rights (exceptions made for Windows, maybe) or root privileges (Firefox installed locally in the users home directory, not under /bin).
  2. Any extensions that are automatically updated via whatever mechanism is currently used should continue to update those extensions. (Exception maybe for keyconfig extension (see below) if it doesn't automatically update itself upon new revisions, but I don't know if that is the case or not).
  3. The methodology should work for extensions that do not show up in the "Get Addons" search under Tools/Add-ons (e.g., keyconfig mentioned below in the "almost" solutions section).

The "Almost" Solutions:

Below are various things I've tried but that do not do exactly what is needed. The key constraint here is reducing the amount of wasted motion I spend when installing Firefox extensions.

The command-line way:

I can get almost what I want via invoking Firefox with the fully-qualified paths to .xpi files stored locally on my filesystem (tested only on Linux 64-bit machines; not on Windows yet but may work there too) via this type of command-line:

firefox some_extension1.xpi \
  some_extension2.xpi \
  some_extension3.xpi \
  ... \
  some_extensionN.xpi 

where some_extensionN.xpi are fully-qualified paths to specific extensions I desire to be installed. But that is not workable because Firefox prompts multiple times, once per each extension to be installed, when only one security prompt is necessary. Multiple promptings are a show-stopper.

The Massive Extender Way:

Massive Extender extension kept me mostly happy, but was rendered inoperable because of the dropping of support for the AddOn Collections extension. Waiting for someone to get around to supporting extensions in Firefox Sync is probably not an option: I believe that they will disallow syncing of extensions that are not registered through some official channel such as the one that shows up in searches from the Tools>Addons menu entry in Firefox. An example of a extremely useful extension that does not seem to be managed via the official channel is the keyconfig extension.

The FEBE Extension way:

The FEBE extension comes close, but is not workable either because, well, it crashes Firefox when trying to restore from Box.net (as of 2014-04-05).

2012-04-05 14:59
by bgoodr


3

You should create a multi-item package. You basically ZIP up an install.rdf file and several XPI files and rename the archive into something.xpi. The install.rdf file should look like this:

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">

  <Description about="urn:mozilla:install-manifest">
    <em:id>foobar@example.com</em:id>
    <em:type>32</em:type>
    <em:targetApplication>
      <Description>
        <!-- Firefox -->
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> 
        <em:minVersion>10.0</em:minVersion>
        <em:maxVersion>11.*</em:maxVersion>
      </Description>
    </em:targetApplication>
  </Description>
</RDF>

You probably want to choose some ID for your bundle that is different from foobar@example.com and adjust the compatible Firefox versions. Then you can simply trigger the installation of this bundle and it will install all the extensions inside.

Important note: install.rdf has to be located at the top level of the ZIP archive, not inside a subdirectory.

2012-04-05 16:58
by Wladimir Palant
Works exactly as advertised. Thanks Wladimir - bgoodr 2012-04-07 05:46
Ads