0

是否可以让我的 Internet Explorer 插件自行更新,而无需使用 .msi 手动卸载/重新安装?我一直在考虑尝试以编程方式执行此操作,但我不确定需要做什么(注册 .dll 等)。

谢谢,内森

4

1 回答 1

1

只需在后台下载新的 MSI。完成后,提示用户,如果他们同意,则运行新的 MSI。

RE:避免用户输入:您可以在未经他们许可的情况下进行操作...但是由于安装新的附加组件需要重新启动浏览器,因此随机执行此操作可能不是最好的选择。当您知道商店将关闭时,您可能会安排它发生的时间,但是如果它们在黑色星期五的午夜开门呢?你必须考虑清楚。

另一种方法是实现一个存根 DLL,它公开您的扩展实现的所有接口,并将该存根注册为 IE 加载的存根。然后你的存根可以调用真正的 dll 上的 loadlibrary 并通过所有的调用。当你想安装一个新版本时,你下载新的实现 dll 并让存根卸载旧的,然后加载新的。如果你这样做得当,它对用户来说可能看起来很简单......当新的dll需要新的注册表项或者你需要更新存根......等等时,困难就来了。所有这些问题都可以解决,但需要付出努力爆炸。

我的建议是保持简单,直到你绝对必须达到这些长度。

于 2010-11-30T23:59:35.607 回答