gpt4 book ai didi

以最少的用户步骤部署 NPAPI 插件

转载 作者:行者123 更新时间:2023-12-03 20:33:51 33 4
gpt4 key购买 nike

情况:我已经为我的 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/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com