0

У меня есть расширение Google, для которого я создал пакет установщика Windows. Этот установщик записывает соответствующие записи в реестре, как описано в https://developer.chrome.com/extensions/external_extensions#registryПользовательское расширение не указано на странице расширений на некоторых компьютерах

Все, что хорошо работает на некоторых компьютерах. Итак, после запуска пакета установщика, а затем запустите Google Chrome, появляется небольшое всплывающее окно с предложением включить расширение. Я отвечаю «Да» на этот вопрос, и с того времени расширение работает, как ожидалось.

Однако на некоторых компьютерах с той же версией Chrome (53.0.2785.116 м) установщик записывает соответствующие записи в реестр, но когда я запускаю Chrome, ничего не происходит, а расширение отсутствует в хроме: // extensions/page.

В таких случаях я могу подключиться к интернет-магазину, чтобы установить расширение вручную. Однако это расширение запускает приложение, поскольку оно реализует Native Messaging. Когда я устанавливаю расширение вручную, он работает (запускается и запускается собственное хост-приложение для обмена сообщениями), но когда я закрываю и повторно открываю Chrome, хост-приложение не запускается. Чтобы запустить его, мне нужно отключить вручную, а затем снова включить расширение.

Очень странно, что происходит. Можете ли вы мне помочь?

ответ

0

Основываясь на этом thread, (что в некоторой степени связано с вашей проблемой), при закрытии Chrome он запустит событие onDisconnect, поэтому приложение не работает.

Индивидуальные средства обмена сообщениями Только Chrome может запустить экземпляр хоста, когда он «подключается». Это неправильное название, поскольку connect() означает «запустить новую копию и поговорить с ней».

Невозможно «прикрепить» к уже запущенному процессу. Если вы закроете хост, труба stdio сломается, то объект Port запускает событие onDisconnect. Затем вам нужно заново запустить хост из расширения, чтобы иметь возможность поговорить с ним.

Вы можете проверить это link. Просто убедитесь, что на вашем компьютере не возникли проблемы с антивирусными или брандмауэрами. Если вы можете открыть Google Chrome, когда брандмауэр выключен, вам может понадобиться create an exception в настройках антивируса или брандмауэра.

0

Однако на некоторых компьютерах с той же версией Chrome (53.0.2785.116 м) установщик записывает соответствующие записи в реестр, но когда я запускаю Chrome, ничего не происходит, а расширение не указано в chrome: // расширения/страница.

Возможно, вы столкнулись с blacklisting, если это расширение было установлено, а затем удалено.

Что делать, если пользователь удаляет расширение?

Если пользователь удаляет расширение через пользовательский интерфейс, он не будет установлен или обновлен при каждом запуске. Другими словами, внешнее расширение занесено в черный список.

Как мне выйти из черного списка?

Если пользователь удаляет ваше расширение, вы должны уважать это решение . Однако, если вы (разработчик) случайно удалили свое расширение через пользовательский интерфейс, вы можете удалить ярлык черного списка , устанавливая расширение обычно через пользовательский интерфейс, а затем удаляя его.