是否可以让我的Internet Explorer插件自行更新,而无需使用.msi手动卸载/重新安装?我一直在考虑尝试以编程方式执行此操作,但我不确定需要做什么(注册.dll等)。
谢谢,Nathan
答案 0 :(得分:1)
只需在后台下载新的MSI即可。完成后,提示用户,如果他们同意,请运行新的MSI。
RE:避免用户输入: 你可以在没有他们许可的情况下做到这一点......但是由于安装新的附加组件需要重新启动浏览器,这可能不是随机做的最好的事情。当你知道商店将会关闭时,你可能会把它发生时间,但是如果他们在午夜开放黑色星期五怎么办?你必须仔细考虑。
另一种方法是实现一个存根DLL,它暴露扩展实现的所有接口,并将该存根注册为IE加载的存根。然后你的存根可以在真实的dll上调用loadlibrary并将所有调用通过。如果要安装新版本,请下载新的实现dll并使存根卸载旧版本,然后加载新版本。如果您正确地执行此操作,对于用户来说可能是无用的...当新的dll需要新的注册表项或者您需要更新存根时...难度来自...等所有这些问题都可以解决,但需要付出的努力爆炸。
我的建议是保持简单,直到你完全不得不这么长。