2010-03-26 6 views

Répondre

1

Votre question est un peu vague pour moi de vous donner une réponse exacte, donc le mieux que je puisse faire est de vous diriger vers la documentation officielle sur ce point: https://developer.mozilla.org/en/Extension_Versioning,_Update_and_Compatibility

Cependant, je vais ajouter que de loin le plus facile façon d'obtenir une extension installée et mise à jour automatiquement est d'utiliser addons.mozilla.org. Sinon, vous devrez fournir votre propre serveur de mise à jour qui utilise SSL (ce qui signifie que vous devrez acheter ou signer un certificat SSL). Ce n'est pas irréversible (je l'ai fait une fois, mais il y a trop longtemps pour que je me souvienne des détails), mais c'est peut-être plus de problèmes que de bien, compte tenu de l'existence de cette alternative facile.

Si vous ne voulez pas passer par le tracas de l'avoir examiné par Mozilla, vous pouvez toujours l'héberger sur addons.mozilla.org: il sera simplement marqué comme expérimental et seulement disponible pour les utilisateurs connectés à installer.

+0

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

+0

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. –

3

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.

Questions connexes