2015-01-07 3 views
3

У меня есть двоичное расширение, которое отлично работает под Firefox, но не может его развернуть в XULRunner/GeckoFX. Расширение не имеет пользовательского интерфейса и просто предоставляет API для нашего основного приложения (в .NET).Как развернуть расширение Firefox в XULRunner/GeckoFX?

Все учебники, которые я мог найти, объясняют, как их установить в приложение XULRunner . Но, используя GeckoFX, XULRunner работает в моем проекте, поэтому у меня нет приложения XULRunner.

Я уже пробовал копировать каталог установленного расширения из каталога профиля Firefox в профиль XULRunner, а также использовать каталог профиля FF для GeckoFX, причем безрезультатно.

Мое настоящее подозрение в том, что расширение targetApplication в install.rdf должно быть настроено для GeckoFX, но что такое правильный идентификатор?

Поскольку мы внедряем GeckoFX/XULRunner, встроенный в наш проект, мне не нужен менеджер расширения, статического развертывания было бы достаточно.

ответ

3

Мне, наконец, удалось заставить его работать. Вот что я сделал:

Во-первых, добавьте место, где расширение развертывается с помощью Xpcom.ComponentRegistrar.AutoRegister():

void RegisterExtensionDir(string dir) 
{ 
    Console.WriteLine("Registering binary extension directory: " + dir); 
    var chromeDir = (nsIFile)Xpcom.NewNativeLocalFile(dir); 
    var chromeFile = chromeDir.Clone(); 
    chromeFile.Append(new nsAString("chrome.manifest")); 
    Xpcom.ComponentRegistrar.AutoRegister(chromeFile); 
} 

Во-вторых, не использовать флаг ABI в расширение-х chrome.manifest. Таким образом, вместо

binary-component components/GeckoScraper.dll ABI=WINNT_x86-msvc 

Я использовал

binary-component components/GeckoScraper.dll 

Я считаю, что это ошибка из GeckoFX 29 и создали issue для этого.

+0

Есть ли 'dir' путь к файлу .xpi? Я ищу способ установки надстроек в 'GeckoFX', но не могу найти способ. – TEK

+0

Еще одна копия вставить ответ от bitbuchet, который не работает. Вам удалось найти решение? –

 Смежные вопросы

  • Нет связанных вопросов^_^