这个问题已经在这里有一个答案:
- 如何检查是否一个DLL文件注册? 7个回答
如何检查,如果一个COM组件(EXE / DLL文件)注册或不使用.NET?
这个问题已经在这里有一个答案:
如何检查,如果一个COM组件(EXE / DLL文件)注册或不使用.NET?
只是要在注册表中查找。 HKEY_CLASSES_ROOT \ yourcom.component。
这取决于。 所以你需要弄清楚你想看看哪个蜂巢您的组件将被注册到Windows注册表。
如果您的组件安装与regasm,没准HKCU将被使用,因为它会从用户的命令行运行。 但是,如果您使用的是微星,微星不得使用regasm,如果你运行MSI在每台机器的模式(ALLUSERS =“1”)或管理员可将项目直接进入HKLM。 在另一方面,如果你运行MSI按USER(ALLUSERS =“”),或作为一个非特权帐户,它将使用HKCU。
HKCR合并视图HKLM和HKCU的,所以你不能告诉蜂房被实际使用,它可能不给你,你想知道什么。 MSDN HKEY_CLASSES_ROOT
如果您的COM组件注册每用户,它可能会失败,这取决于用户运行安装。 所以,如果你要检查它是否被正确安装,你需要找出哪些关键你真的想使用,或者如果HKCR是可以接受的。 对于最终用户测试,HKCR可能是测试,因为它会受到大家和(.NET中)访问不会引发安全异常的最安全的方式。
也看到这个帖子: regasm和HKCU
从Visual Studio可以从参考经理做到这一点。
这个工具的好处是,你可以为对象通过关键字多一点优雅搜索比通过注册表进行导航。 请注意,你可以看到在GAC注册以及非COM对象。