3
votes

Now that Mozilla requires Firefox extensions to be signed, I've decided to only host my personal extensions at the official Add-ons for Firefox (AMO) site. Previously, I hosted my extensions at my personal website, using the requisite update manifest machinery.

I'd like to redirect users who installed my extensions directly from my personal website to the new versions at AMO. I was under the impression that if I released an update of my extension without the custom updateURL in the extension's manifest, that it would check AMO by default. That doesn't seem to be the case, however.

How can I make it so that users who installed my extension via my personal site can get updates going forward from the official add-ons site? Are they essentially forced to uninstall / reinstall to pick up this change? Or can I trigger it somehow?

I should point out that the extension ID for my extension is the same, regardless of my distribution point. This is one reason I thought that simply removing the updateURL from the installer manifest would do the right thing.

Update: Here's further details on the scenario I'm trying to solve:

  1. User installed version 2.6.5 of my extension from my personal website some time in the past.
  2. I released version 2.6.6 of the extension on my personal website, removing the updateURL node from that version's installer manifest in the process.
  3. I release version 2.6.7 of the extension on AMO only. I expect that the user from step 1 should be able to automatically upgrade their install to 2.6.7, but this isn't the case. It's as if Firefox doesn't know to check AMO for that given extension, even though the extension ID is the same.

Update 2: My installer manifest for version 2.6.6 contained the updateKey node, but not the updateURL node. When I remove the updateKey from the installer manifest, repackage the extension, and install it, the updates available at AMO are then found successfully. This shifts the problem, however, to the update manifest on my website. In order for an extension update to be found via my website, it needs the updateKey (unless I'm missing something obvious). How can I automatically push an update to an extension that (a) isn't hosted on AMO and (b) has neither an updateKey or an updateURL present in its installer manifest?

1

1 Answers

2
votes

If you have your extension hosted on AMO, it will be automatically updated for the user (unless the user has 'Automatic updates' turned off for your particular add-on via Tools > Add-ons > Extensions > (your extension) > More.

And yes, you should remove the updateURL tag from your install.rdf file.

You can find more information at the MDM site.