【发布时间】:2013-01-09 21:58:13
【问题描述】:
我有一个实用程序,它通过简单地复制/替换可执行文件来更新应用程序。现在,我有一些 DLL 文件也需要更新。但是,有时 Windows 不会让我替换它,因为有东西在使用它,有时使用 DLL 的东西太多了,我不能保证它会被我解锁来替换它。
目前,我唯一的解决方法是先重命名现有的 DLL,然后我可以复制新的 DLL。但是,旧的 DLL 会留下一个更改的文件名。
在这种情况下如何以编程方式替换 DLL?
【问题讨论】:
-
或者我可以要求重新启动并在启动时复制文件...
-
您是否使用过 Process Explorer 来验证 DLL 是如何被“锁定”的?
-
一旦没有进程加载 DLL,您可以覆盖它。你把那部分弄错了。
-
@DavidHeffernan 奇怪,因为我一直有这个问题。
标签: delphi dll delphi-xe2 access-denied file-copying