Заставить установщик Windows связываться с расширением Chrome без NPAPI - PullRequest
0 голосов
/ 02 марта 2012

У меня есть приложение для Windows, которое устанавливает расширение Chrome через реестр Windows.Я хочу, чтобы это приложение генерировало некоторую единовременную информацию для чтения Chrome на основе информации, введенной пользователем в процессе установки.

Если я не использую NPAPI в расширении Chrome, есть ли где-нибудьУстановщик может разместить информацию так, чтобы расширение увидело ее?

Редактировать : Я также хотел бы запустить Chrome в конце установки.

Ответы [ 3 ]

2 голосов
/ 13 марта 2012

Еще один способ передать информацию в установленное расширение извне Chrome - это создать страницу со своим расширением, в которой вы затем откроете Chrome и передадите информацию в хэш ..., например ....

chrome.exe "chrome-extension://emcggffhhapbbkcodabdliakappfibcf/showHash.html#info"

Проблема с этим методом заключается в том, что вы устанавливаете расширение с помощью простого метода реестра (я предполагаю), а не с помощью метода Policy. С помощью метода Policy вы можете форсировать установку, и это произойдет, даже если Chrome уже открыт (где, в соответствии с документами, простой метод происходит при следующем открытии Chrome). Недостатком этого является то, что вам придется сделать деинсталлятор самостоятельно, поскольку вы не можете удалить расширение из Chrome, которое устанавливается с помощью этого метода. Я также не уверен, насколько быстро / часто это будет перед установкой расширения (не могу найти его в документации и слишком ленив, чтобы попробовать его;)), и вам нужно заставить своего установщика немного подождать, пока оно будет установлено ... .
http://www.chromium.org/developers/how-tos/adding-new-policies
http://dev.chromium.org/administrators/policy-list-3#ExtensionInstallForcelist
http://dev.chromium.org/administrators/policy-templates (говорит, где в реестре их добавлять)

Другим возможным способом может быть упаковка расширения во время установки и добавление файла с информацией, которую расширение может прочитать. Проблема с этим методом заключается в том, что идентификатор расширения изменится (может быть, это не проблема для вас?) Или вам придется включить PEM в ваш установщик, что вы, вероятно, не хотите делать ....

chrome.exe  --pack-extension="C:\simple-example" --no-message-box
0 голосов
/ 15 марта 2012

Вместо связи через реестр Windows вы можете создать WebSQL из установщика и из расширения прочитать данные оттуда.

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

  1. Установщик создаст базу данных и зарегистрируется в chrome (возможно, с помощью Databases.db)
  2. Расширение будет использовать openDatabase для создания соединения с базой данных
  3. Расширение выполнит транзакцию и прочитает нужный файл.

Другой вариант - добавить файл в crx, например, "installer_info.json" и выполнить AJAX-запрос от расширения к файлу "installer_info.json".

Нет формального способа сделать это, небольшое исследование, и у вас будет способ.

0 голосов
/ 13 марта 2012

Многие хотят, чтобы при установке расширения произошло событие.

Существует обходной, не элегантный способ отправки информации в браузер извне: запустите chrome с просьбой открыть URL.

Я использую его с локальным HTML-файлом.Мое приложение выполняет командную строку, например:

"pathToChrome\Chrome.exe" "file://pathToHtmlFile/myFile.html?param1=value1&param2=value2"

Информация, которую я передаю, является параметрами страницы.

Суть в том, что эта страница читается расширениями одним из многих способов:

  • Вы можете написать скрипт содержимого, который будет запускать эта страница
  • Вы можете поместить на эту страницу некоторый JavaScript, чтобы записать параметры в виде файлов cookie, чтобы расширение читалось в будущем (безвызывая добавочный номер в данный момент)

Это не должна быть локальная страница.Если ваша страница находится на сервере, она может сохранять параметры на сервере, даже если это того стоит.

Она не должна быть даже вашей страницей.Вы можете вызывать любую страницу в Интернете, но будьте уверены, что она запустит ваше расширение скрипта контента и прочитает ваши «настроенные» параметры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...