如何解决FireBreath插件自动安装
| 我使用适用于Windows的所有浏览器的VS2010 FireBreath编写了一个插件。 在FireBreath文档中,我看到必须安装WiX。我安装了它。 我使用自动fbgen工具创建了项目,因此它自动为我创建了WiX。 我从文档中无法理解现在该做什么了: 我必须编辑生成的WiX源文件吗?如果是,那该怎么办? 在对象标记中写入什么内容将触发所创建的msi的安装? 或者至少对用户说需要安装并将其链接到下载? 10倍!解决方法
安装WiX Toolkit后,重新运行prep __。bat文件以重新生成安装程序项目以及主插件项目。生成插件项目,然后生成名为{YourPlugin} _WiXInstaller之类的安装程序项目。该msi将放置在Firebreath \的\\ build \\ bin \\ {YourPlugin} \\ {Configuration}目录中({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安全性问题的讨论话题能带来一些答案。
更新:
正如Richard / taxilian所暗示的那样,MSI必须打包在CAB文件中,以便IE进行安装。如RB所述,正确设置INF并创建CAB还需要执行一些其他步骤。此外,Vista / Win7不允许INF调用CAB文件之外的任何二进制文件,这又增加了一点麻烦,因此必须使用存根启动应用程序(请参阅此线程和Roey在底部发布的示例代码)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。