使用regsvr32注销DLL

13

这让我抓狂。

我使用以下命令注册了一个 DLL(COM):

regsvr32 blabla.dll

与此同时,我手动从磁盘中删除了这个 DLL。

我如何取消注册这个 DLL?我知道 CLSID。

编辑:

显然我需要从注册表中删除它。

在注册表中应该删除什么?

4个回答

16

反注册代码存储在 DLL 中,不幸的是,regsvr32 /u blabla.dll 不起作用;您需要使用 regedit 手动从 Windows 注册表中删除 DLL 的信息。我认为注册信息通常位于 HKEY_CLASSES_ROOT\CLSID\{YOUR-CLSID}


2
另一种解决方法是将dll文件放回原处并注销它,然后再删除它。在客户的电脑上经常会出现这样的情况,例如midas.dll的注册路径没有该dll文件。最初的回答。

1
您可以通过添加 /u(卸载)标志来取消注册 DLL,与注册 DLL 的方式相同。
regsvr32 /u blabla.dll

当然,如果您没有dll文件,这种方法就行不通了。但是,如果您仍然有一份副本或可以获得一份,那么这比手动编辑注册表要容易得多。

0

你可能需要删除位于HKEY_CLASSES_ROOT中的prog.id。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接