随着新的firefox,我们正在发送越来越多的库,因为我们交互的XPom接口正在发生变化。我们在10个dll并且正在增加,每个都有近2M的大小。
这个尺寸是一些用户关注的问题。
虽然我们考虑重组库以分离我们可以在它们之间共享的部分,但我们正在考虑如何在支持版本升级的同时减少磁盘空间。
例如,用户安装了FireFox 3.6和4.0,当我们安装产品时,我们为每个版本安装一个dll。当Firefox升级4.0(比如说6.0)时,我们现在可以从msi安装缺少dll的6.0支持。
关于如何实现这一目标的任何想法? 我们无缘无故担心吗?
我的第一个想法是'AllowAdvertise',当FF尝试按照chrome的指示加载dll时,它会导致安装,它似乎不起作用。
答案 0 :(得分:2)
我的第一反应是建议你离开XPCOM并转向js-ctypes。毕竟,这是Mozilla推动扩展开发人员的方向(例如,请参阅Wladimir Palant's comments)。如果二进制代码中没有任何东西绝对需要使用XPCOM,那么在需要时通过js-ctypes发送与JS接口的DLL会更高兴。
答案 1 :(得分:2)
我猜您的扩展程序仅限Windows,因此支持多个平台不是问题。一个可能的短期解决方案:
minVersion
4.0和maxVersion
4。*)。%APP_VERSION%
非常重要。%APP_VERSION%
4.0.1的更新检查将发送至extension-ff4.xpi
,而%APP_VERSION%
6.0将获得extension-ff6.xpi
。Firefox会在应用程序更新时检查扩展更新。如果您可以为其提供兼容的更新,则会安装它。但是每六周准备一次新软件包需要付出很多努力,我想你要重构你的代码/尽快转移到js-ctypes。哦,我认为你需要忽略一些用户安装了多个Firefox版本的不太可能的情况。