0

自動更新サービスのupdate.rdfを作成しました。

アドオンの概要で、「新しいアップデートを検索」を右クリックすると、FirefoxがテストWebスペースで新しいバージョンを見つけ、ダウンロードして「インストール」します。しかし、再起動後、以前と同じバージョンを使用しましたが、xpiファイルは変更されませんでした。ここにいくつかの写真とコードスニペットがあります。マバイあなたは考えを持っています。

http://s12.postimage.org/f68kptdy3/script_error1.png

http://s12.postimage.org/57nm3c4ij/script_error2.png

再起動後、バージョン0.2.3が変更なしで再び使用できるようになりました。

バージョン0.2.3のinstall.rdf

コード:すべて選択

   <Description about="urn:mozilla:install-manifest">

      <em:id>megxbar@megx.net</em:id>
      <em:type>2</em:type>
      <em:name>MegxBar</em:name>
      <em:version>0.2.3</em:version>
       .
       .
       .
      <em:updateURL>http://home.arcor.de/eniac2000/update.rdf</em:updateURL>           <em:updateKey>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDO65zOLKafZWtmX/cvs9ELMT1VkCQ8GlZNbRMku0su8VxDr+k4eGFYUupHWy2Ll+rfXJ43k+nYQvYHZRoU94DtiCCk4GEpfGytQPCCHOl30aV9elJH+cmeSKZiejPvMptZfp9GXTcLWgVycPVwS59J/LFJ2St2QQSv2hgWV1dKlwIDAQAB</em:updateKey>
      <em:targetApplication>
         <Description>
            <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <!-- Firefox -->
            <em:minVersion>1.5</em:minVersion>
            <em:maxVersion>15.0</em:maxVersion>
         </Description>
      </em:targetApplication>   
   </Description>
</RDF>

署名付きのupdate.rdf(サーバー上)

<?xml version="1.0"?>
<RDF:RDF xmlns:em="http://www.mozilla.org/2004/em-rdf#"
         xmlns:NC="http://home.netscape.com/NC-rdf#"
         xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <RDF:Description RDF:about="rdf:#$ZpuSg3"
                   em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
                   em:minVersion="1.5"
                   em:maxVersion="15.0"
                   em:updateLink="http://home.arcor.de/eniac2000/MegxBar_0.3.3.xpi"
                   em:updateHash="sha1:02226eedd92e895379881ec919ce07c7f73ff9a9" />
  <RDF:Seq RDF:about="rdf:#$VpuSg3">
    <RDF:li RDF:resource="rdf:#$WpuSg3"/>
  </RDF:Seq>
  <RDF:Description RDF:about="rdf:#$WpuSg3"
                   em:version="0.3.3">
    <em:targetApplication RDF:resource="rdf:#$ZpuSg3"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mozilla:extension:megxbar@megx.net"
                   em:signature="MIGTMA0GCSqGSIb3DQEBDQUAA4GBAFOK3mZUdai/KCVRtHNvTYPV7Hu3+3b9ymfkGM3u08m0O7Ltl1tc0guYtZ74i+qUYC8T+66pgK/LeXnwzAHFUBcEfXFZGfwH8ZG8SR/lyZaUzSsAM9CPoYv1YIM/PjLfHtIEJdzROW1HG31YlsP3nouT5wSyEhvJiNQvAUwP37Aj">
    <em:updates RDF:resource="rdf:#$VpuSg3"/>
  </RDF:Description>
</RDF:RDF>

サーバー上のバージョン0.3.3のxpiのinstall.rdf

<?xml version="1.0" encoding="UTF-8"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:em="http://www.mozilla.org/2004/em-rdf#">

   <Description about="urn:mozilla:install-manifest">

      <em:id>megxbar@megx.net</em:id>
      <em:type>2</em:type>
      <em:name>MegxBar</em:name>
      <em:version>0.3.3</em:version>
         .
         .
         .
      <em:updateURL>http://home.arcor.de/eniac2000/update.rdf</em:updateURL>
      <em:updateKey>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDO65zOLKafZWtmX/cvs9ELMT1VkCQ8GlZNbRMku0su8VxDr+k4eGFYUupHWy2Ll+rfXJ43k+nYQvYHZRoU94DtiCCk4GEpfGytQPCCHOl30aV9elJH+cmeSKZiejPvMptZfp9GXTcLWgVycPVwS59J/LFJ2St2QQSv2hgWV1dKlwIDAQAB</em:updateKey>
      <em:targetApplication>
         <Description>
            <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <!-- Firefox -->
            <em:minVersion>1.5</em:minVersion>
            <em:maxVersion>15.0</em:maxVersion>
         </Description>
      </em:targetApplication>   
   </Description> 
</RDF>

MCCOYを使用して署名を作成し、Windows用の代替ハッシュジェネレーターを使用してハッシュ値を作成しました

4

1 に答える 1

1

MegxBar_0.3.3.xpiサーバーからをダウンロードして、install.rdf中のファイルを見ると、次のように表示されます。

<em:version>0.2.3</em:version>

そのため、Firefoxは拡張機能を正しく更新し、新しいバージョンをインストールします。唯一の問題は、ファイル名に関係なく、サーバー上の「新しい」バージョンが古いバージョンであるということです。

于 2012-07-30T13:21:33.203 に答える