0

Ich habe eine Google Extension entwickelt, für die ich ein Windows Installer-Paket erstellt habe. Dieses Installationsprogramm schreibt die entsprechenden Registrierungseinträge, wie in https://developer.chrome.com/extensions/external_extensions#registryEine benutzerdefinierte Erweiterung ist auf einigen Computern nicht in der Erweiterungsseite aufgeführt.

erklärt wird Alles, was in einigen Computern gut funktioniert. Nachdem ich das Installationspaket ausgeführt und Google Chrome ausgeführt habe, erscheint ein kleines Popup-Fenster, in dem ich aufgefordert werde, die Erweiterung zu aktivieren. Ich antworte auf diese Frage mit "Ja" und ab diesem Zeitpunkt funktioniert die Erweiterung wie erwartet.

Bei einigen Computern mit der gleichen Chrome-Version (53.0.2785.116 m) schreibt das Installationsprogramm die entsprechenden Einträge in die Registrierung, aber wenn ich Chrome ausführe, passiert nichts und die Erweiterung wird nicht im chrome aufgeführt: // Erweiterungen/Seite.

In solchen Fällen kann ich eine Verbindung zum Webspeicher herstellen, um die Erweiterung manuell zu installieren. Diese Erweiterung startet jedoch eine Anwendung, weil sie Native Messaging implementiert. Wenn ich die Erweiterung manuell installiere, funktioniert sie (die native Messaging-Hostanwendung wird gestartet und funktioniert), aber wenn ich Chrome schließe und wieder öffne, wird die Hostanwendung nicht ausgeführt. Um es auszuführen, muss ich die Erweiterung manuell deaktivieren und dann wieder aktivieren.

Sehr seltsam, was passiert. Kannst du mir bitte dabei helfen?

Antwort

0

Basierend auf dieser thread, (die etwas mit Ihrem Problem verwandt ist), wenn Sie den Chrome schließen, wird es ausgelöst onDisconnect Ereignis, weshalb die Anwendung nicht ausgeführt wird.

Native Messaging bedeutet, dass nur Chrome eine Host-Instanz starten kann, wenn sie "verbindet". Es ist eine falsche Bezeichnung, denn connect() bedeutet "lade eine neue Kopie und rede damit".

Es gibt keine Möglichkeit, einen bereits laufenden Prozess anzuhängen. Wenn Sie den Host schließen, wird die stdio-Leitung unterbrochen. Das Objekt Port löst das Ereignis onDisconnect aus. Dann müssen Sie den Host von der Erweiterung aus neu starten, um mit ihm kommunizieren zu können.

Sie können dies überprüfen link. Stellen Sie nur sicher, dass keine Antiviren- oder Firewall-Programme auf Ihrem Computer das Problem verursachen. Wenn Sie Google Chrome bei ausgeschalteter Firewall öffnen können, müssen Sie möglicherweise create an exception in Ihren Antivirus- oder Firewall-Einstellungen angeben.

0

jedoch in einigen Computern mit der gleichen Version von Chrome (53.0.2785.116 m), schreibt das Installationsprogramm die entsprechenden Einträge in der Registrierung, aber wenn ich Chrome laufen, passiert nichts und die Erweiterung ist nicht in der aufgeführten chrome: // Erweiterungen/Seite.

Sie könnten blacklisting auftreten, wenn diese Erweiterung jemals installiert und dann deinstalliert wurde.

Was passiert, wenn der Benutzer die Erweiterung deinstalliert?

Wenn der Benutzer die Erweiterung über die Benutzeroberfläche deinstalliert, wird er nicht mehr bei jedem Start installiert oder aktualisiert. Mit anderen Worten, die externe Erweiterung ist auf der schwarzen Liste.

Wie komme ich von der Blacklist?

Wenn der Benutzer Ihre Erweiterung deinstalliert, sollten Sie die Entscheidung respektieren. Wenn Sie (der Entwickler) Ihre Erweiterung versehentlich über die Benutzeroberfläche deinstalliert haben, können Sie das Blacklist-Tag jedoch entfernen, indem Sie die Erweiterung normalerweise über die Benutzeroberfläche installieren und dann deinstallieren.

Verwandte Themen