如何从注册表中清除未使用的COM注册?
我在我的机器上注册了一些COM组件(DLL),但是与这些COM组件关联的DLL已被删除(因此我无法使用regsrv32)。如何清理这些旧COM组件的注册表。我想知道是否有一个工具可以列出已注册的内容,并允许我删除我知道不再使用的组件如何从注册表中清除未使用的COM注册?,com,registry,Com,Registry,我在我的机器上注册了一些COM组件(DLL),但是与这些COM组件关联的DLL已被删除(因此我无法使用regsrv32)。如何清理这些旧COM组件的注册表。我想知道是否有一个工具可以列出已注册的内容,并允许我删除我知道不再使用的组件 简易方法-oleview.exe来自Win SDK-查看注册表选项卡。 在我的机器上,它是这样的:“C:\ProgramFiles(x86)\Windows Kits\8.0\bin\x64\oleview.exe”它是Visual Studio安装的一部分。或者您
- 按HKCR中DLL的名称搜索注册表(例如:HKEY_CLASSES_ROOT\CLSID{9B208FF8-F6B0-4290-94DE-7A4E857D8C4A}\InprocServer32),其中GUID将对应于您的coclassCLSID。让它成为一个向导吧
- 然后按GUID_A搜索并删除其他条目(可选):
- ProgID如HKEY\U CLASSES\U ROOT\YourServerName.YourCoclassName\CLSID={GUID\U A}
- HKEY_CLASSES_ROOT\TypeLib\{GUID_A}中的TypeLib
- HKEY_CLASSES_ROOT\AppID\{APPIDGUID},其中{APPIDGUID}可以从项目符号步骤1中的CLSID条目中提取
- HKEY_类\u根\接口{IID}。用于可封送的接口-要找到它,可以使用inproc服务器(另一个)的CLSID,该服务器为该接口实现代理存根。我希望您的COM服务器没有可封送的接口
理论上,该组件可以在注册表或其他地方执行任何操作(当然,只能被权限阻止)。