【发布时间】:2010-12-21 06:57:35
【问题描述】:
这让我发疯了。
我使用
注册了一个 DLL (COM)regsvr32 blabla.dll
与此同时,我从磁盘中手动删除了这个 DLL。
如何取消注册此 dll?我知道 CLSID。
编辑:
显然我需要从注册表中删除它。
我应该在注册表中删除什么?
【问题讨论】:
这让我发疯了。
我使用
注册了一个 DLL (COM)regsvr32 blabla.dll
与此同时,我从磁盘中手动删除了这个 DLL。
如何取消注册此 dll?我知道 CLSID。
编辑:
显然我需要从注册表中删除它。
我应该在注册表中删除什么?
【问题讨论】:
您取消注册 dll 的方式与注册它的方式相同,只是添加了 /u(卸载)标志。
regsvr32 /u blabla.dll
当然,如果您不再拥有 dll,这将无法正常工作,但如果您仍有副本或可以获得一个副本,这比手动编辑注册表更容易。
【讨论】:
解决此问题的另一种方法是将 dll 放回原处并取消注册。然后你可以删除它。
我们经常在注册路径没有 dll 的带有 midas.dll 的客户地方有这个。
【讨论】:
不幸的是,注销代码存在于 DLL 中,因此 regsvr32 /u blabla.dll 将不起作用;您需要使用regedit 从 Windows 注册表中手动删除 DLL 的信息。我相信注册信息一般位于HKEY_CLASSES_ROOT\CLSID\{YOUR-CLSID}。
【讨论】:
您可能还需要删除位于 HKEY_CLASSES_ROOT 中的 prog.id。
【讨论】: