Avez-vous regardé l'article de Mozilla Developer "Extension Versioning, Update and Compatibility"? Fondamentalement, votre manifeste d'installation doit avoir un updateURL
qui pointe vers une mise à jour RDF. La mise à jour RDF aura une liste de chaque version disponible et quelle est la version de l'application Mozilla avec laquelle elle est compatible. Voici une version vraiment abrégée de leur exemple:
<?xml version="1.0" encoding="UTF-8"?>
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<RDF:Description about="urn:mozilla:extension:[email protected]">
<em:updates>
<RDF:Seq>
<RDF:li>
<RDF:Description>
<em:version>2.2</em:version>
<em:targetApplication>
<RDF:Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>1.5</em:minVersion>
<em:maxVersion>2.0.0.*</em:maxVersion>
<em:updateLink>https://www.mysite.com/foobar2.2.xpi</em:updateLink>
<em:updateInfoURL>http://www.mysite.com/updateinfo2.2.xhtml</em:updateInfoURL>
</RDF:Description>
</em:targetApplication>
</RDF:Description>
</RDF:li>
<RDF:li>
<RDF:Description>
<em:version>2.5</em:version>
<em:targetApplication>
<RDF:Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>1.5</em:minVersion>
<em:maxVersion>2.0.0.*</em:maxVersion>
<em:updateLink>http://www.mysite.com/foobar2.5.xpi</em:updateLink>
<em:updateHash>sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6</em:updateHash>
</RDF:Description>
</em:targetApplication>
</RDF:Description>
</RDF:li>
</RDF:Seq>
</em:updates>
</RDF:Description>
</RDF:RDF>
Donc, fondamentalement votre installation de points manifeste à ce fichier, et quand Firefox ouvre, il vérifie ce fichier pour voir si la version du module complémentaire sur est la plus récente version répertoriée dans la mise à jour RDF. La mise à jour RDF est juste une liste de versions dans l'ordre de sortie, avec des informations de base comme la version de Firefox avec laquelle elle est compatible et tous les autres détails que vous voulez lancer.
Merci d'avoir mentionné AMO, au moment où j'ai fini Copier l'échantillon ridicule, je me sentais comme s'il n'y avait pas de place pour le mentionner, mais c'est certainement le meilleur moyen d'y aller. – Anthony
Je développe une application Windows. Cette application installe FF add-on aussi et interagit avec elle sur COM et XPCOM. Cette application télécharge périodiquement la nouvelle version de ce module et doit l'installer. Je dois installer et mettre à jour mon add-on manuellement. –