2016-07-19 33 views
0

Ich entwickle eine Desktop-Anwendung, die mit einigen Mozilla-Anwendung¹ durch ein Add-on integrieren kann. Ich möchte dem Benutzer die Möglichkeit, um die Add-On durch meine Anwendung zu installieren, aber ich habe keine offizielle Art und Weise erfüllt meine Anforderungen in der Lage zu finden:Programmatisch installieren Add-on unterstützt automatische Updates

  1. Das Add-on, einmal installiert, müssen erhalten automatische Updates
  2. Es sollte keine komplexe Interaktion mit dem Benutzer erforderlich sein
  3. Das Verfahren darf nicht von Mozilla verboten werden (wie in, nicht in die schwarze Liste führen muss)

gibt es eine Methode ein Add zu installieren -on diese Anforderungen erfüllen?


Optionen Ich betrachtet, die diese Anforderungen nicht erfüllen:

  • Global installation of add-ons - dies ist jedoch nicht zulassen, automatische Updates durch AMO ‚s-Infrastruktur oder updateURL s in install.rdf (verletzt 1)
  • XPI in das Standardprofil kopieren und aktivieren - bewirkt nicht, dass der Opt-in-Dialog angezeigt wird, der eine violation of the Add-on Guidelines und somit ein Ticket zur Blacklisting² (verletzt 3)
  • ist
  • die Anwendung mit der URL des XPI Executing - nur mit einem Browser-Komponente, wie Firefox für Anwendungen funktioniert, aber nicht für Thunderbird

ich in einige Profil-bezogene Fehler laufen während des Tests, ist diese Option besser als meine erste Tests vorgeschlagen:

  • die XPI in das Standardprofil kopieren - Ergebnisse in dem Add-on in deaktivierten Zustand ausgehend, also nicht besser sein als erklärt den Benutzer, die Erweiterung manuell zum Download (gegen 2) und der Benutzer wird aufgefordert, die Installation in einer neuen Registerkarte zuzulassen (oder abzulehnen) (s adly wird dieser Registerkarte manchmal im Hintergrund geöffnet, somit nicht optimal für die Bedingung 2)

¹ In meinem Fall, das heißt Thunderbird; aber ich möchte die Frage, wenn möglich, auch für Firefox offen halten.

² Ich glaube nicht, dass das Problem gelöst werden konnte, indem ein benutzerdefinierter Anmeldedialog in meiner Anwendung verwendet wurde, da Mozilla Richtlinien für den von Mozilla definierten "good good" blind erzwingt (siehe Add-on Signing) .

+0

Wenn Sie das Addon mit einer Systeminstallation bündeln, dann können Sie nur die gesamte Systeminstallation aktualisieren, nein? – the8472

+0

Die meisten Antivirus-Installer tun, was Sie brauchen (nur sie fügen Addons zu Firefox hinzu, aber nicht TB). Schauen Sie sich die Addons von Kaspersky oder AVG an. –

+0

@Makyen Ihr erster Link verweist auf Meta, aber [Ich habe die Frage gefunden, auf die Sie sich beziehen] (http://stackoverflow.com/questions/37682010/how-to-have-firefox-auto-update-extensions-bundled -mit-einer-anwendung), danke! – dst

Antwort

0

Während keine optimale Lösung, schlägt die zusätzliche Prüfung der einer der ersten Ansätzen in der Frage erwähnt funktioniert besser als meine ersten Tests vorgeschlagen:

Kopieren Sie die XPI in den extension Ordner aller Profile, die betroffen sein werden Verwenden Sie den Dateinamen ID.xpi, wobei ID die ID des Add-Ons ist (wenn das Add-On entpackt werden muss, entpacken Sie es stattdessen in einen Ordner ID).

Dadurch wird das Add-On in einem deaktivierten Zustand installiert, aber der Benutzer wird beim nächsten Start der Anwendung gefragt, ob er die Installation zulassen möchte. Nach Bestätigung durch den Benutzer wird das Add-On aktiviert.


würde ich weitere Antworten begrüßt die Probleme dieser Lösung adressieren:

  • Die Registerkarte Benutzer zur Bestätigung gefragt wird im Hintergrund in einigen Fällen (zum Beispiel in Thunderbird, wenn die Add-on gezeigt Reiter war der Vordergrund Registerkarte, wenn vor dem Neustart Schließen)
  • der Installateur somit Logik muss profiles.ini, um analysieren Standorte Profilordner Profile
  • Nur zum Zeitpunkt beeinflusst werden installieren, um bestimmen können