2012-04-04 12 views
3

Ich versuche, die automatische Update-Funktion meiner Chrome extension zu implementieren. Aber aus irgendeinem Grund funktioniert es nicht. Ich habe eine updates.xml Datei auf GitHub gehostet und ich sehe, dass es heruntergeladen wird (der Download-Zähler zeigt dies). Aber die latest version der Erweiterung wird nie heruntergeladen.Automatische Aktualisierung einer Chrome-Erweiterung funktioniert nicht

Mein manifest.json wie folgt aussieht:

"version": "0.14.0", 
"update_url": "https://github.com/downloads/PeeHaa/cv-pls/updates.xml", 

Und mein updates.xml wie folgt aussieht:

<?xml version='1.0' encoding='UTF-8'?> 
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'> 
    <app appid='bcbifciedokdgkokbbfippkbecnkpclj'> 
    <updatecheck codebase='https://github.com/downloads/PeeHaa/cv-pls/cv-pls.0.14.0.crx' version='0.14.0' /> 
    </app> 
</gupdate> 

ich eingecheckt haben und doppelt überprüft die appid und die Download-URL und sie sind beide richtig.

Hat jemand eine Idee, was hier schief läuft? Hat es etwas damit zu tun, dass es auf GitHub gehostet wird?

+0

Haben automatischer Aktualisierungen mit der gleichen Einrichtung in der Vergangenheit arbeiten? – abraham

+0

@abraham nopez. hat nie funktioniert. – PeeHaa

+0

Bezug: [Wie hostet man eine Chrome-Erweiterung?] (Http://Stackoverflow.com/q/10737123/367456) – hakre

Antwort

1

Es sieht so aus, als würden sowohl die update.xml- als auch die crx-URLs von https://github.com zu https://cloud.github.com umleiten. Dies ist der einzige Grund dafür, dass das Update fehlschlagen könnte. Versuchen Sie, die codebase-URL update.xml so zu aktualisieren, dass sie cloud enthält.

+0

Wird versuchen. Ich halte dich auf dem Laufenden. – PeeHaa

+0

Immer noch [funktioniert nicht] (https://github.com/PeeHaa/cv-pls/downloads). Ich sehe, dass meine neueste updates.xml mehrmals heruntergeladen wird, aber ich sehe keine Downloads der Erweiterung selbst :( – PeeHaa

+0

Ich werde dieses Wochenende einige Tests durchführen, weil es so aussieht, als sollte es funktionieren. Ich weiß, ich ' Ich habe Gists für update.xml benutzt und es hat gut geklappt.Ping mich am Sonntag, wenn ich kein Update poste. – abraham

3

Ich habe diesen Ansatz vorher versucht und auch gescheitert. Die update.xml-Datei wurde korrekt heruntergeladen, aber die neueste Version meiner App konnte nicht installiert werden.

Ich fand heraus, dass es nicht funktioniert, weil Github nicht den richtigen Header bereitstellt. Wenn Sie sich die hosting documentation ansehen, sollte der Content-Type-Header "application/x-chrome-extension" sein.

Ich schrieb ein einfaches Skript in PHP die Datei für mich zu dienen:

<?php 
$file = ""; 
header("Content-type: application/x-chrome-extension"); 
header("Content-Disposition: attachment; filename='extension.crx'"); 
header("Content-Transfer-Encoding: binary"); 
header("Content-Length: " . filesize($file)); 
echo readfile($file); 
exit; 
+0

Ich lief gerade 'curl -v --head http:// cloud.github.com/downloads/PeeHaa/cv-pls/cv-pls.0.14.0.crx' und die Kopfzeile 'Content-Type: application/x-chrome-extension' ist in der Antwort vorhanden. – abraham

Verwandte Themen