我的应用程序安装了一个 Firefox 插件(通过复制一个.xpi
to [FF_inst_dir]\extensions
)。
此应用程序会定期更新(新版本的.xpi)。
如何正确安装(如何使用 update.rdf)?
我的应用程序安装了一个 Firefox 插件(通过复制一个.xpi
to [FF_inst_dir]\extensions
)。
此应用程序会定期更新(新版本的.xpi)。
如何正确安装(如何使用 update.rdf)?
您看过 Mozilla 开发者文章“扩展版本控制、更新和兼容性”吗?
基本上,您的安装清单需要有一个updateURL
指向更新 RDF。更新 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:foobar@developer.mozilla.org">
<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>
所以基本上你的安装清单指向这个文件,当 Firefox 打开时,它会检查该文件以查看插件的版本是否是更新 RDF 中列出的最新版本。更新 RDF 只是按发布顺序列出的版本列表,其中包含基本信息,例如它兼容的 Firefox 版本以及您想要提供的任何其他详细信息。
你的问题对我来说有点模糊,无法给你一个确切的答案,所以我能做的最好的就是将你指向官方文档:https ://developer.mozilla.org/en/Extension_Versioning,_Update_and_Compatibility
但是,我要补充一点,到目前为止,安装和自动更新扩展的最简单方法是使用 addons.mozilla.org。否则,您必须提供自己的使用 SSL 的更新服务器(这意味着您必须购买或自签名 SSL 证书)。这不是不可撤销的(我做过一次,但太久以前我记不起细节了),但考虑到这个简单的替代方案的存在,它可能比它的价值更麻烦。
如果您不想让 Mozilla 审查它的麻烦,您仍然可以在 addons.mozilla.org 上托管它:它只会被标记为实验性的并且仅供登录用户安装。