2010-03-26 158 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兼容,以及任何其他您想要投入的詳細信息。