0

我开发了一个Google扩展,为其创建了Windows安装程序包。该安装程序按照https://developer.chrome.com/extensions/external_extensions#registry某些自定义扩展未在某些计算机的扩展页面中列出

中所述的方式写入相应的注册表项。所有这些在一些计算机中运行良好。因此,在我运行安装程序包并运行Google Chrome之后,出现一个小弹出窗口,告诉我启用该扩展程序。我对该问题回答“是”,从那时起,延期按预期工作。

但是,在一些使用相同版本的Chrome(53.0.2785.116 m)的计算机上,安装程序会将相应的条目写入注册表,但是当我运行Chrome时,什么都没有发生,并且该扩展未列在chrome中: //扩展/页面。

在这种情况下,我可以连接到网上商店手动安装扩展。但是,此扩展启动应用程序,因为它实现了本地消息传递。当我手动安装扩展程序时,它可以工作(本地消息传递主机应用程序已启动并正常工作),但是当我关闭并重新打开Chrome时,主机应用程序不会运行。要运行它,我需要手动禁用,然后重新启用该扩展。

很奇怪发生了什么事。你能帮助我吗?

回答

0

根据此thread(与您的问题有些相关),在关闭Chrome时,它将触发onDisconnect事件,这就是应用程序未运行的原因。

本地消息传递意味着只有Chrome可以在“连接”时启动主机实例。这是一个用词不当,因为connect()的意思是“发布一个新的副本,并与它交谈”。

没有办法“附加”到已经运行的进程。如果关闭主机,stdio管道被破坏Port对象触发onDisconnect事件。然后,您需要从分机重新启动主机才能与其通话。

您可以检查此link。只要确保您的计算机上没有防病毒程序或防火墙程序导致此问题。如果您可以在防火墙关闭时打开Goog​​le Chrome,则可能需要在防病毒或防火墙设置中使用create an exception

0

但是,在一些使用相同版本的Chrome(53.0.2785.116 m)的计算机上,安装程序将相应的条目写入注册表,但是当我运行Chrome时,没有任何反应,并且扩展未列在chrome:// extensions/page。

如果该扩展程序已安装,然后卸载,则可能遇到blacklisting

如果用户卸载扩展程序该怎么办?

如果用户通过UI卸载扩展程序,则不会再在每次启动时安装或更新 。换句话说,外部 扩展名被列入黑名单。

我该如何摆脱黑名单?

如果用户卸载您的扩展程序,您应该遵守 的决定。但是,如果您(开发人员)通过用户界面意外卸载了 您的扩展程序,则可以通过 删除黑名单标记,然后通过UI正常安装扩展程序,然后再卸载 。

相关问题