我的應用程序安裝一個Firefox附加組件(通過複製.xpi
到[FF_inst_dir]\extensions
)。Firefox附加組件。安裝,更新,手動卸載
此應用程序定期更新(使用新版本的.xpi)。
如何安裝正確(如何使用update.rdf)?
我的應用程序安裝一個Firefox附加組件(通過複製.xpi
到[FF_inst_dir]\extensions
)。Firefox附加組件。安裝,更新,手動卸載
此應用程序定期更新(使用新版本的.xpi)。
如何安裝正確(如何使用update.rdf)?
你的問題有點含糊,我給你一個確切的答案,所以我能做的最好的是指向你在這個官方文檔:https://developer.mozilla.org/en/Extension_Versioning,_Update_and_Compatibility
不過,我會補充說,迄今爲止最容易安裝擴展程序並自動更新的方法是使用addons.mozilla.org。否則,您將不得不提供使用SSL的自己的更新服務器(這意味着您必須購買或自簽名SSL證書)。這是不可撤銷的(我曾經做過一次,但在很久以前我才記得細節),但考慮到這個簡單的替代方案的存在,它可能比它的價值更麻煩。
如果你不想經過Mozilla審查的麻煩,你仍然可以在addons.mozilla.org上託管它:它只會被標記爲實驗性的,並且只能用於登錄用戶安裝。
你看過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兼容,以及任何其他您想要投入的詳細信息。
感謝您提到AMO,我完成複製荒謬的樣本,我覺得沒有任何空間可以提及它,但它絕對是更好的選擇。 – Anthony 2010-03-26 07:42:25
我開發Windows應用程序。此應用程序還安裝FF插件並通過COM和XPCOM與它交互。此應用程序會定期下載該插件的新版本,並且必須安裝它。我必須手動安裝和更新我的加載項。 – 2010-03-26 08:01:56