- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
情况:我已经为我的 IE 用户编写了一个完美运行的 ActiveX 控件。我构建了 .ocx,对其进行了 CAB,签名,然后将其放置在带有 EMBED 标签的站点上。用户加载页面,黄色栏出现,询问他们是否要安装它:他们所要做的就是点击它,我们就离开了。
现在我需要构建对 FF、Chrome 和 Safari(在 Mac 上)的支持。根据我的研究,NPAPI 是做到这一点的方法,而 Firebreath 应该让它更容易。但从我所读到的,部署并不是那么容易。 Windows 用户必须在 DLL 上运行“regsvr32”(我的网络用户实际上都不会这样做)。我不知道在 Mac 上会发生什么。我相信用户必须将其复制到/Library/Internet\Plugins/之类的目录中,这也是部署的非启动项。 Firefox 用户会下载/运行 .xpi。 Chrome 应该运行 .crx。
有没有人有这方面的经验?您如何为其他三大浏览器部署一个易于用户运行的 NPAPI 插件?
最佳答案
这是 FireBreath 用户经常提出的一个问题,所以我可能是时候在比项目 google 组更容易找到的论坛上更详细地回答了。
首先,澄清一下 regsvr32 的问题,FireBreath 确实支持所有浏览器的“自注册”;这意味着当您调用 regsvr32 时,它不仅会为 IE 安装注册表项,还会使用 DReJ 链接的方法为 NPAPI 浏览器安装注册表项(该信息为 +1,顺便说一句,谢谢。许多人不知道在哪里可以找到它)。
但是,安装程序世界和 Microsoft 强烈反对自注册 DLL。这有很多原因。您在帖子中总结了其他安装选项方面做得很好;您可以在 IE 上使用 .cab 文件,在 Firefox 上使用 .XPI 文件,但当然这些在其他浏览器上无济于事。
FireBreath 团队(由我领导)推荐的方法是对所有浏览器使用 MSI 安装程序。就我个人而言,我不喜欢在不同的浏览器上安装不同的东西,所以我使用 javascript 来检测插件的存在(或不存在),然后提示用户下载并运行 MSI 安装程序。
FireBreath 对使用 WiX 构建 MSI 安装程序具有“内置”支持。如果您在计算机上安装 WiX 3.0 或更高版本并重新运行准备脚本,它将创建一个 _WiXInstaller 项目,该项目将构建一个基本的 MSI,作为 Visual Studio 构建过程的一部分,为所有浏览器安装您的插件。您可以修改将保留在您的主目录中的 .wxs 模板以对其进行自定义。
更多信息可以在 FireBreath wiki 上找到:
http://www.firebreath.org/display/documentation/WiX+Installer+Help
http://www.firebreath.org/display/~me@iaincollins.com/Potential+Installer+Improvements
如果您真的很喜欢在 IE 上使用 .cab 安装程序(我遇到了它们的问题,但有些人似乎很幸运)您可以在 CAB 中分发 MSI 文件,并在 CAB 运行时运行它安装。这样做的好处是,当您安装 MSI 时,它会为 IE、Firefox、Safari、Chrome 和 Opera(以及与这些浏览器使用的相同插件技术兼容的其他浏览器)安装所有内容。
快速说明一下,MSI 是安装插件的理想解决方案(而不是使用像 regsvr32 这样调用 DllRegisterServer 的东西)的原因是 MSI 是基于事务的,所以当你卸载它时,它总是会反转插入的内容;这意味着您不必担心支持卸载 10 个不同的旧安装程序版本,这些安装程序将东西放在不同的地方等,因为 MSI 系统会在您升级时负责干净地卸载所有内容。
希望有帮助!
关于以最少的用户步骤部署 NPAPI 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4468708/
我在互联网上搜索了很多小时,但没有找到满意的结果,所以 -VSTO Addin 和 COM Addin(我们作为类库项目制作并使用 Excel 对象)之间有什么区别?VSTO 项目是否有任何限制,例如
我在互联网上搜索了很多小时,但没有找到满意的结果,所以 -VSTO Addin 和 COM Addin(我们作为类库项目制作并使用 Excel 对象)之间有什么区别?VSTO 项目是否有任何限制,例如
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我正在寻找有关如何构建可扩展 WCF 服务器(具有动态加载的服务)的建议,最好使用 System.Addins 或 MEF。 服务器应托管实现最小“插件”API(StartService/StopSe
有没有一种方法可以使用加载浏览器扩展/插件/插件的 headless 浏览器(即 PhantomJS、Selenium)来运行自动测试? 更具体地说,我想模拟广告拦截器(如 Ghostery、ad-b
我是 gradle 的新手,我使用 artifactory 作为我的 repo 服务器。我在网上查看了如何将我的项目发布到我的 repo 服务器,发现我可以使用 maven-publish 或使用 a
我想禁用某些状态的点击/事件,并仅使少数状态可点击。我通读了http://newsignature.github.io/us-map/处的文档,并且找不到与此问题相关的任何内容。 最佳答案 http:
据我了解,在Intellij中使用idea插件打开Maven构建的项目并不是最好的方法,即调用: mvn idea:idea 但是直接打开pom文件(Intellij有默认的Maven插件);同样的事
使用Artifactory plugin对于 Jenkins pipeline 来说是一种幸福,只要遵循文档就可以了。但后来我介绍了Maven Flatten plugin解析父模块和子模块 mvn
我已经安装了Elasticsearch版本1.7.1。一切正常。我也安装了 JDBC 驱动程序。检查下面我的插件文件夹 目录E:\Xampp\htdocs\my-elastic\elasticsear
在我使用 webpack common chunks 插件创建包含第三方库(如 angular、react、lodash 等)的 vendor 包之前,但后来我知道了 webpack dll
我们正在尝试使用(Jenkins、sonar、eclipse ...)安装 CI 平台。 为了让每个开发人员都可以在提交之前对他的代码进行分析,我想知道两种选择: 使用 Sonar 插件运行本地分析。
我知道这是一个比较特殊的问题。尽管如此,也许有些人知道这一点: 我想在 Eclipse 中使用 Maven 编译 Hector=> 分支:0.7.0 和标签:hector-0.7.0-29(https
我卡住了。我一直在尝试寻找或自己创建一个简单的准系统示例,说明如何为 VS 2010 Express 创建 Outlook 插件。我知道这在 VS 2010 Pro 中更简单,但是,在快速版本中真的不
我有以下排除过滤器来忽略所有 R 文件类: findbugs-exclude-filter.xml 当我将它用于 FindBugs-IDEA 插件时,它可以
我刚开始玩 CakePHP,我发现了 Wildflower CMS .我喜欢这个想法,并打算开始修补它。不过,我有一个问题。 在自述文件中,我发现了以下内容:“Wildflower 不是也不会是 Ca
虽然现在大部分情况都是使用n-api来编写插件,但是底层毕竟是v8(和libuv),使用v8编写简单的插件,同时熟悉v8的使用。 本文介绍在写c++插件时,简单又常用的写法,其实本质上,写插件
本篇是 Python 系列教程第 3 篇,更多内容敬请访问我的 Python 合集 Visual Studio Code的安装非常简单,就不放这里增加文章篇幅了。 相比PyCharm,V
Maven – 插件 什么是 Maven 插件? Maven 实际上是一个依赖插件执行的框架,每个任务实际上是由插件完成。Maven 插件通常被用来: 创建 jar 文件 创建 war
我正在编写一个插件来添加带有标签 [deposit_page] 的页面;该标记应替换为一些 PHP 代码。 这就是我所拥有的,但它不起作用。有什么我遗漏或做错了什么吗? function deposi
我是一名优秀的程序员,十分优秀!