Автоматическое обновление расширения не работает
Я написал update.rdf для службы автоматического обновления.
В обзоре надстройки пользователь может щелкнуть правой кнопкой мыши "поиск нового обновления", и Firefox найдет новую версию в моем тестовом веб-пространстве, загрузит ее и "установит" ее. Но после перезагрузки у меня та же версия, что и раньше, она не изменила файлы xpi. Вот некоторые картинки и фрагменты кода. Мэйби, у тебя есть идея.
http://s12.postimage.org/f68kptdy3/script_error1.png
http://s12.postimage.org/57nm3c4ij/script_error2.png
После перезагрузки у меня снова версия 0.2.3 без изменений.
install.rdf версии 0.2.3
Код: выбрать все
<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>
install.rdf в xpi версии 0.3.3 на сервере
<?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
1 ответ
Если я скачаю MegxBar_0.3.3.xpi
с вашего сервера и посмотрите на install.rdf
файл внутри я вижу:
<em:version>0.2.3</em:version>
Поэтому Firefox корректно обновляет ваше расширение и устанавливает новую версию. Единственная проблема заключается в том, что "новая" версия на вашем сервере - это старая версия, несмотря на имя файла.