2011-05-25 73 views
2

我为Windows,所有浏览器编写了一个使用FireBreath,VS2010的插件。FireBreath插件自动安装

在FireBreath文档中,我看到我必须安装WiX。我安装了它。 我使用自动fbgen工具创建了该项目,因此它为我自动创建了一个WiX。

我无法从文档理解为啥子现在要做的:

  1. 我必须编辑生成的WiX源文件?如果是的话,那里要改变什么?

  2. 什么编写的对象标签,将触发安装创建的msi? 或者至少对用户说,需要安装并将他链接到下载?

10x!

回答

5

安装了WiX Toolkit后,重新运行prep __。bat文件以重新生成安装程序项目以及主插件项目。构建插件项目,然后构建名为{YourPlugin} _WiXInstaller的安装程序项目。 msi将被放置在Firebreath的\ build \ bin \ {YourPlugin} \ {Configuration} dir({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的安全性似乎阻止微星在这里。如果使用插件DLL(codebase =“/ YourPlugin.dll”),它会工作。此自动安装方法仅适用于带有符号二进制文件的IE(除非IE的安全选项正在下降)。 希望a discussion thread on the MSI security issue会产生一些答案。

更新: 作为hinted by Richard/taxilian,微星必须在CAB文件中以打包IE安装它。获得INF正确并创建CAB需要一些additional steps as documented by RB。并且为了增加另一个皱纹,Vista/Win7不允许INF调用CAB文件以外的任何二进制文件,因此必须使用存根启动应用程序(参见this thread和Roey发布的示例代码)。