Автоматическая установка плагина FireBreath
Я написал плагин, используя FireBreath, VS2010, для Windows, все браузеры.
В документации FireBreath я видел, что я должен установить WiX. Я установил это. Я создал проект, используя автоматический инструмент fbgen, поэтому он автоматически создал WiX для меня.
Я не могу понять из документа, что делать сейчас:
Нужно ли редактировать сгенерированный исходный файл WiX? Если да, что там изменить?
Что написать в теге объекта, который запустит установку созданной MSI? Или хотя бы сказать пользователю, что установка необходима, и связать его с загрузкой?
10x!
1 ответ
С установленным инструментарием WiX повторно запустите файл prep__. Bat, чтобы заново создать проект установщика вместе с основным проектом плагина. Создайте проект плагина, затем создайте проект установщика с именем что-то вроде {YourPlugin}_WiXInstaller. Msi будет помещен в каталог \build\bin\{YourPlugin}\{Configuration} каталога Firebreath ( {Configuration} - Отладка, Выпуск и т. Д.).
Нет необходимости редактировать файл 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 даст ответы на некоторые вопросы.
Обновление: Как подсказал Ричард / Таксилиан, MSI должен быть упакован в CAB-файл, чтобы IE мог установить его. Чтобы получить правильную INF-информацию и создать CAB, необходимо выполнить несколько дополнительных шагов, описанных в документе RB. И чтобы добавить еще одну складку, Vista/Win7 не позволяют INF вызывать какой-либо двоичный файл вне CAB-файла, поэтому необходимо использовать приложение для запуска заглушки (см. Этот поток и пример кода, размещенного Роей, внизу).