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

谢谢,内森

有帮助吗?

解决方案

只需在后台下载新的MSI即可。完成后,请提示用户并同意,请运行新的MSI。

回复:避免用户输入:您可以在未经许可的情况下完成此操作...但是由于安装新的附加组件需要重新启动浏览器,这可能不是最好的事情。当您知道商店将关闭时,您可能会时间发生,但是如果他们在黑色星期五午夜开放,该怎么办?您必须考虑一下。

一种替代方法是实施一个存根DLL,该存根dll揭示了扩展的所有接口,并将该存根注册为IE加载的存根。然后,您的存根可以在真实的DLL上调用LoadLibrary,并通过所有调用。当您要安装新版本时,您可以下载新的实现DLL并将存根卸载旧版本,然后加载新版本。如果正确执行此操作,用户可能无可厚非...当新DLL需要新的注册表条目或您需要更新存根时,困难就到了...。所有这些问题都可以解决,但是所需的精力爆炸。

我的建议是保持简单,直到您绝对必须遵循这些长度为止。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top