我的WindowsCE设备上有一个我需要删除的DLL。 (所以我可以升级它),问题是我做不到..系统只是不放手。
注意:我希望避免软复位。
我已删除了注册表中对DLL的所有引用。我退出了申请表。我只是无法删除DLL ..软复位后,我可以删除它,即使我正在运行应该使用它的我的应用程序。
所以我的问题是......什么让它保持开放,如何阻止它,或者让它放手?
我使用过CoFreeUnusedLibraries()和CoFreeUnusedLibrariesEX();两者都没有影响/影响
答案 0 :(得分:0)
您是否使用LoadLibrary
在应用程序中加载Dll?
当您使用Dll完成申请时,您是否致电FreeLibrary
(link)?
答案 1 :(得分:0)
我试过了,但它实际上并没有立即释放它。似乎它暂时搁置了它 什么工作.. 我将文件移动到垃圾位置。 然后我将新文件copyfile复制到旧文件所在的位置。 然后我重新启动系统..
现在系统加载新文件(完成我的目标),我可以随时删除旧文件。
这不是最优雅的方式,但它很简单且有效。