Загрузка плагина NPAPI в Chrome

У меня есть плагин на основе NPAPI API (сценарий), разработанный с использованием Gecko SDK 1.9.2. Этот плагин отлично работает в бета-версиях FF3.6 и FF4, но не может быть обнаружен в Chrome.

Также я не вижу плагин в списке - когда я делаю "about: Plugins" в Chrome.
Я зарегистрировал плагин, как описано в "Установка Windows с использованием реестра".

При наблюдении за запуском Chrome с помощью инструмента Sysinternals Procmon.exe я мог обнаружить, что хром пытается выполнить LoadImage в моей DLL подключаемого модуля, кто бы он ни быстро его выгружал.

Любые идеи, почему этот плагин не обнаруживается хромом, помогут.


person atVelu    schedule 15.12.2010    source источник


Ответы (2)


Было бы полезно иметь пример того, какие именно ключи вы использовали и куда вы их поместили; Плагины FireBreath (работают во всех браузерах npapi и activex) регистрируются в реестре с помощью этого метода, и они отлично работают с Chrome .

В зависимости от ваших потребностей, возможно, стоит подумать о создании вашего плагина в FireBreath вместо прямого использования npapi - это намного меньше работы, и обходные пути для различных браузеров уже сделаны.

Одна вещь, которую нужно попробовать, - убедиться, что у вас есть правильное имя файла в реестре; Многие версии firefox просто используют каталог, указанный в реестре, и ищут любые файлы плагинов (это не задокументировано, AFAIK, это просто мои наблюдения), тогда как Chrome фактически использует путь и файл. Также возможно, что у вас проблема с разрешениями.

person taxilian    schedule 15.12.2010
comment
Спасибо, Taxilian, но где мне взять образец плагина, разработанный с использованием FireBreath? Когда я загрузил SDK, у него был пример, но он не компилировался с VS 2010. Мне просто нужно что-то очень быстрое, чтобы проверить, какие записи реестра абсолютно необходимы для Chrome. - person atVelu; 16.12.2010
comment
Когда вы загружаете FireBreath, в нем есть два примера. Для его создания вам понадобится cmake, но он будет построен с помощью Visual Studio 2005 или более поздней версии - я использую VS 2010 для его создания каждый день, и он отлично работает. см. firebreath.org/display/documentation/Building+on+Windows. - person taxilian; 17.12.2010

Проблема заключалась в том, что в DLL плагина не было такого ресурса, как описание файла, тип MIME и установленный язык. Добавление правильных строк ресурсов устранило проблему.

person atVelu    schedule 16.12.2010