我编写的某些软件的一部分是COM dll。
其他软件使用此COM dll。

我的软件具有更新功能,它将在其中下载较新版本的dll,但是如果正在使用dll,则更新将失败,因为无法删除或写入文件。

问题是,如何更新正在使用的COM dll?

我已经考虑过弹出一条消息,要求用户关闭正在使用DLL的所有应用程序(如果正在使用),如果这是最佳解决方案,那么我将如何在弹出消息之前检测是否正在使用COM dll?

提前致谢。

最佳答案

您无法为现有应用程序就地对其进行更新,但是一种实现方法是将其保存为其他文件名或文件夹,然后在DLL上调用DllRegisterServer以新名称进行注册。开始使用您的对象的新应用程序现在应该使用新版本。

关于c++ - 如何更新使用中的COM DLL?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4554721/

10-14 16:46
查看更多