Автоматическая установка плагина FireBreath - PullRequest
2 голосов
/ 25 мая 2011

Я написал плагин, используя FireBreath, VS2010, для Windows, все браузеры.

В документации FireBreath я увидел, что мне нужно установить WiX. Я установил это. Я создал проект, используя автоматический инструмент fbgen, поэтому он автоматически создал WiX для меня.

Я не мог понять из документа, что делать сейчас:

  1. Нужно ли редактировать сгенерированный исходный файл WiX? Если да, что там поменять?

  2. Что написать в теге объекта, который запустит установку созданной MSI? Или хотя бы сказать пользователю, что установка необходима, и связать его с загрузкой?

10 раз!

1 Ответ

5 голосов
/ 03 ноября 2011

С установленным WiX Toolkit перезапустите файл prep __. Bat, чтобы заново создать проект установщика вместе с основным проектом плагина.Создайте проект плагина, затем создайте проект установщика с именем что-то вроде {YourPlugin} _WiXInstaller.Msi будет помещен в каталог \ build \ bin \ {YourPlugin} \ {Configuration} каталога Firebreath ({Configuration} - Debug, Release и т. Д.).

Нет необходимости редактировать файл WiX, если вы действительно не хотитеизменить конкретную настройку.Одна вещь, о которой я могу думать, это изменение установки по умолчанию для каждого пользователя для всех пользователей.Для пользователя обычно лучше, потому что он избегает проблем с UAC.

Развернуть его для пользователя немного сложнее.Для большинства браузеров пользователь должен сохранить и запустить MSI.В IE вы можете объявить объект в теле HTML и указать кодовую базу на URL, содержащий плагин:

<object id="pluginid" type="application/x-yourplugin" width="0" height="0" codebase="/YourPlugin.msi" >
    <param name="onload" value="pluginLoaded" />
</object>

Однако безопасность IE9, похоже, блокирует MSI здесь.Это работает, если используется плагин DLL (codebase = "/ YourPlugin.dll").Этот метод автоматической установки работает только в IE с подписанными двоичными файлами (если только параметры безопасности IE не проверены).Надеемся, что обсуждение в теме безопасности MSI даст несколько ответов.

Обновление: как подсказал Ричард / taxilian * 1012, MSI должен быть упакован в CAB-файлдля IE, чтобы установить его.Чтобы правильно настроить INF и создать CAB, нужно выполнить несколько дополнительных шагов , как описано в документе RB .И чтобы добавить еще одну складку, Vista / Win7 не позволяют INF вызывать любой двоичный файл вне CAB-файла, поэтому необходимо использовать приложение для запуска заглушки (см. этот поток и пример кода, размещенного Роуем в отношениивнизу).

...