2010-03-26 60 views

回答

1

你的问题有点含糊,我给你一个确切的答案,所以我能做的最好的是指向你在这个官方文档:https://developer.mozilla.org/en/Extension_Versioning,_Update_and_Compatibility

不过,我会补充说,迄今为止最容易安装扩展程序并自动更新的方法是使用addons.mozilla.org。否则,您将不得不提供使用SSL的自己的更新服务器(这意味着您必须购买或自签名SSL证书)。这是不可撤销的(我曾经做过一次,但在很久以前我才记得细节),但考虑到这个简单的替代方案的存在,它可能比它的价值更麻烦。

如果你不想经过Mozilla审查的麻烦,你仍然可以在addons.mozilla.org上托管它:它只会被标记为实验性的,并且只能用于登录用户安装。

+0

感谢您提到AMO,我完成复制荒谬的样本,我觉得没有任何空间可以提及它,但它绝对是更好的选择。 – Anthony 2010-03-26 07:42:25

+0

我开发Windows应用程序。此应用程序还安装FF插件并通过COM和XPCOM与它交互。此应用程序会定期下载该插件的新版本,并且必须安装它。我必须手动安装和更新我的加载项。 – 2010-03-26 08:01:56

3

你看过Mozilla开发者文章“Extension Versioning, Update and Compatibility”吗?

基本上,您的安装清单需要有一个指向更新RDF的updateURL。更新RDF将列出每个可用版本以及它与哪个版本的Mozilla应用程序兼容。下面是他们的榜样的真正删节版本:

<?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> 

所以基本上你的安装清单指向此文件,当火狐打开时,它会检查文件,看是否该版本添加上的最新版上市在更新RDF中。更新RDF只是一个按发布顺序排列的版本列表,其中包含基本信息,例如它与哪个版本的Firefox兼容,以及任何其他您想要投入的详细信息。