2

I have built a Firefox extension using the Add-On SDK and forced it to install via registry key. (via HKLM\Software\Mozzilla\Firefox\Extensions\extensionid)

When I go to Add-ons Manager and select "Check for updates", it does not issue request to the url specified in <updateUrl>. There are requests going out for https://versioncheck.addons.mozilla.org/... but not for my custom url specified in <updateUrl>.

This is reproducible also with an empty hello world extension built using the Firefox Add-On SDK:

cfx init
cfx xpi --update-url https://fooo.com/update.rdf

Then unpack the XPI using WinRAR into C:\test-extension and add a string value under the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Firefox\Extensions\ 

with a string value named jid1-W2S1bxv6O1LoAA@jetpack (generated extension ID) pointing to the folder with the unpacked XPI:

registry value name: jid1-W2S1bxv6O1LoAA@jetpack value: C:\test-extension

Then start Firefox, the extension will be installed into Firefox. From Add-ons Manager, select check for updates.

The URL specified as <updateURL> in C:\test-extension\install.rdf is never accessed.

For sake of completeness, this is the install.rdf file (untouched default directly from output generated from cfx):

<?xml version="1.0" encoding="utf-8"?>
<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>jid1-W2S1bxv6O1LoAA@jetpack</em:id>
    <em:version>0.1</em:version>
    <em:type>2</em:type>
    <em:bootstrap>true</em:bootstrap>
    <em:unpack>false</em:unpack>

    <!-- Firefox -->
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>19.0</em:minVersion>
<!-- I tried also with maxVersion 25.* -->
        <em:maxVersion>20.*</em:maxVersion>
      </Description>
    </em:targetApplication>

    <!-- Front End MetaData -->
    <em:name>TEST</em:name>
    <em:description>a basic add-on</em:description>
    <em:creator></em:creator>
    <em:updateURL>https://mydomain.com/updates.rdf</em:updateURL>
  </Description>
</RDF>

When I install the .xpi file manually with a drag and drop into Firefox, then the updateURL is checked as expected when I invoke Check for Updates in Add-ons Manager.

Am I missing something? Are updates via <updateURL> supported for extensions installed via registry?

nmaier
  • 32,336
  • 5
  • 63
  • 78
Marek
  • 10,307
  • 8
  • 70
  • 106

1 Answers1

1

Installations via the Windows Registry are locked, and therefore add-ons are not considered upgradeable. Such locations are considered external and not app-controlled unlike add-ons in the profile, there is a high likelihood that the user cannot upgrade the add-on anyway (only the system administrator can).

Add-ons installed via either the Registry of a system location must provide either own upgrade mechanism.

nmaier
  • 32,336
  • 5
  • 63
  • 78