FireBreath插件自动安装 [英] FireBreath plugin automatic installation

查看:156
本文介绍了FireBreath插件自动安装的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用适用于Windows的所有浏览器的VS2010 FireBreath编写了一个插件.

I wrote a plugin using FireBreath, VS2010, for Windows, all browsers.

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

In FireBreath documentation I saw that I have to install WiX. I installed it. I created the project using the automatic fbgen tool so it autmatically created a WiX for me.

我无法从文档中了解现在该做什么:

I couldn't understand from the doc is waht to do now:

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

  1. Do I have to edit the generated WiX source file? If yes, what to change there?

在对象标记中写入什么内容才能触发所创建的msi的安装? 还是至少对用户说需要安装并将其链接到下载?

What to write in the object tag that will trigger the installation of the msi created? Or at least say to the user that installation is needed and link him to a download?

10倍!

推荐答案

在安装WiX Toolkit之后,重新运行prep __.bat文件以重新生成安装程序项目以及主插件项目.生成插件项目,然后生成名为{YourPlugin} _WiXInstaller之类的安装程序项目. msi将放置在Firebreath的\ build \ bin \ {YourPlugin} \ {Configuration}目录中({Configuration}是Debug,Release等).

With the WiX Toolkit installed, re-run the prep__.bat file to regenerate the installer project along with the main plugin project. Build the plugin project, then build the installer project named something like {YourPlugin}_WiXInstaller. The msi will be placed in Firebreath's \build\bin\{YourPlugin}\{Configuration} dir ( {Configuration} is Debug, Release, etc).

除非确实要更改特定设置,否则无需编辑WiX文件.我能想到的一件事是将默认的每用户安装更改为所有用户.每个用户通常会更好,因为它避免了UAC问题.

It's not necessary to edit the WiX file unless you really want to change a specific setting. One thing I can think of is changing the default per-user install to all users. Per-user is usually better because it avoids UAC issues.

将其部署给用户有点棘手.对于大多数浏览器,用户必须保存&运行MSI.在IE上,您可以在HTML主体中声明一个对象,并将代码库指向包含插件的URL:

Deploying it to the user is a bit trickier. For most browsers, the user must save & run the msi. On IE you can declare an object in the HTML body and point the codebase to a URL containing the plugin:

<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安全问题的讨论线程会得到一些答案.

However IE9's security seems to block MSI's here. It does work if the plugin DLL is used (codebase="/YourPlugin.dll"). This auto-install method only works in IE with signed binaries (unless IE's security options are cranked way down). Hopefully a discussion thread on the MSI security issue will yield some answers.

更新: 正如由理查德(Richard)/的士米(taxian)暗示的那样,必须打包一个MSI在CAB文件中,以便IE进行安装.正确设置INF并创建CAB需要花费 RB记录的其他步骤.另外,Vista/Win7不允许INF调用CAB文件之外的任何二进制文件,这又增加了一点麻烦,因此必须使用存根启动应用程序(请参阅

Update: As hinted by Richard / taxilian, an MSI must be packaged within a CAB file in order for IE to install it. Getting the INF right and creating the CAB takes some additional steps as documented by RB. And to add yet another wrinkle, Vista/Win7 do not allow the INF to call any binary outside of the CAB file, so a stub launching app must be used (see this thread and example code posted by Roey towards the bottom).

这篇关于FireBreath插件自动安装的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆