Firefox插件。手动安装、更新、卸载

Firefox插件。手动安装、更新、卸载,firefox,firefox-addon,add-on,Firefox,Firefox Addon,Add On,我的应用程序安装Firefox附加组件(通过将.xpi复制到[FF\u inst\u dir]\extensions) 此应用程序定期更新(.xpi和新版本) 如何正确安装(如何使用update.rdf)?您的问题对我来说有点模糊,无法给出准确的答案,因此我只能向您指出有关此问题的官方文档: 但是,我要补充的是,到目前为止,安装和自动更新扩展的最简单方法是使用addons.mozilla.org。否则,您必须提供自己的使用SSL的更新服务器(这意味着您必须购买SSL证书或自行签署SSL证书)。它

我的应用程序安装Firefox附加组件(通过将
.xpi
复制到
[FF\u inst\u dir]\extensions

此应用程序定期更新(.xpi和新版本)


如何正确安装(如何使用update.rdf)?

您的问题对我来说有点模糊,无法给出准确的答案,因此我只能向您指出有关此问题的官方文档:

但是,我要补充的是,到目前为止,安装和自动更新扩展的最简单方法是使用addons.mozilla.org。否则,您必须提供自己的使用SSL的更新服务器(这意味着您必须购买SSL证书或自行签署SSL证书)。它是不可撤销的(我曾经做过一次,但太久以前我就记不住细节了),但考虑到这个简单的替代方案的存在,它可能比它的价值更麻烦


如果你不想让Mozilla审查它,你仍然可以在addons.Mozilla.org上托管它:它将被标记为实验性的,只供登录用户安装。

你的问题对我来说有点模糊,无法给出确切的答案,因此,我所能做的就是向您指出关于这一点的官方文件:

但是,我要补充的是,到目前为止,安装和自动更新扩展的最简单方法是使用addons.mozilla.org。否则,您必须提供自己的使用SSL的更新服务器(这意味着您必须购买SSL证书或自行签署SSL证书)。它是不可撤销的(我曾经做过一次,但太久以前我就记不住细节了),但考虑到这个简单的替代方案的存在,它可能比它的价值更麻烦


如果你不想让Mozilla审查它,你仍然可以把它放在addons.Mozilla.org上:它将被标记为实验性的,只供登录用户安装。

你看过Mozilla开发者文章吗

基本上,您的安装清单需要有一个指向更新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: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>

2.2
{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
1.5
2.0.0.*
https://www.mysite.com/foobar2.2.xpi
http://www.mysite.com/updateinfo2.2.xhtml
2.5
{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
1.5
2.0.0.*
http://www.mysite.com/foobar2.5.xpi
sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6

因此,基本上你的安装清单指向这个文件,当Firefox打开时,它会检查这个文件,看看加载项的版本是否是更新RDF中列出的最新版本。更新RDF只是按发布顺序列出的版本列表,其中包含基本信息,如它与Firefox的哪个版本兼容,以及您希望加入的任何其他详细信息。

您看过Mozilla开发人员文章“”了吗

基本上,您的安装清单需要有一个指向更新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: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>

2.2
{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
1.5
2.0.0.*
https://www.mysite.com/foobar2.2.xpi
http://www.mysite.com/updateinfo2.2.xhtml
2.5
{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
1.5
2.0.0.*
http://www.mysite.com/foobar2.5.xpi
sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6

因此,基本上你的安装清单指向这个文件,当Firefox打开时,它会检查这个文件,看看加载项的版本是否是更新RDF中列出的最新版本。更新RDF只是按发布顺序列出的版本列表,其中包含了一些基本信息,比如它与Firefox兼容的版本以及您想要加入的任何其他详细信息。

感谢您提到AMO,当我复制完这个荒谬的示例时,我觉得已经没有任何空间提及它了,但这绝对是更好的方法。我开发Windows应用程序。此应用程序还安装FF附加组件,并通过COM和XPCOM与之交互。此应用程序定期下载该附加组件的新版本,并且必须安装它。我必须手动安装和更新我的加载项。感谢您提到AMO,当我复制完这个荒谬的示例时,我觉得已经没有空间提及它了,但这肯定是更好的方式。我开发了Windows应用程序。此应用程序还安装FF附加组件,并通过COM和XPCOM与之交互。此应用程序定期下载该附加组件的新版本,并且必须安装它。我必须手动安装和更新我的加载项。