Я работаю на работе, связанной с этой страницей
Я написал скрипт NSIS, который пытается автоматически установить расширения chrome.
(Почему? Потому что наше расширение может предлагаться с другим потоком установки продукта через флажок, тогда, если пользователь выберет наше расширение, которое будет добавлено, оно будет автоматически установлено в браузере chrome пользователя с использованием установки без вывода сообщений NSIS)
Я перепробовал много сценариев, и мне нужна помощь, на сайте Google говорят, что вы можете сделать это
- Использование файла настроек JSON
- Использование реестра Windows
Они также говорят, что «Использование файла настроек» содержит ошибку (примечание Windows: пока ошибка 41902 не будет исправлена, вы можете захотеть использовать реестр Windows вместо файла настроек).
Напоминание:
Расширение, которое устанавливается автоматически, называется внешним расширением
- Поэтому я попробовал «Использование реестра Windows»
Чтобы добавить расширения Google Chrome через реестр:
- добавить этот ключ: "HKEY_LOCAL_MACHINE \ SOFTWARE \ Google \ Chrome \ Extensions (мой идентификатор расширения)" *
- добавить "путь" с путем к .crx
- добавить "версию" с версией расширения
Вот что я попробовал (используя скрипт NSIS):
Если я добавлю раздел реестра
Он установит расширение, НО, если пользователь удалит его вручную, Chrome включит флаг черного списка, и расширение не может быть переустановлено с помощью любого другого сценария. Остается только один путь - пользователь устанавливает вручную. Хуже того, если пользователь установит вручную и удалит вручную (это отключит флаг черного списка), и когда chrome будет перезапущен, он автоматически переустановит расширения (без каких-либо действий пользователя), поскольку ключ реестра все еще там.
Если я удаляю ключ реестра, когда мы запускаем или закрываем браузер, причудливым способом (используя dll (NPAPI) внутри crx), chrome автоматически удалит каталог расширений при перезапуске браузера.
Если мне удастся удалить раздел реестра, когда пользователь удалит расширение. Мы попали в черный список, поэтому автоинсталлятор больше не будет работать, пока пользователь не отключит флаг черного списка, установив и удалив расширение вручную.
Если я создаю каталог в "C: \ Users \ (имя пользователя) \ AppData \ Local \ Google \ Chrome \ Данные пользователя \ Default \ Extensions \ (extensionID) \ (версия) _0 \ (мои файлы здесь) ", у меня много проблем, потому что chrome удалит мои файлы, как только перезапустит браузер.
Кто-нибудь сталкивался с этой проблемой и что нужно сделать.
Я попытаюсь с файлом JSON, но пока ошибка не будет устранена, реестр будет единственным способом.
Спасибо всем, кто успел все это прочитать!
Любая помощь будет оценена, спасибо!