如何检查文件是否已注册 COM //EXE/DLL/ 或不 /使用 .NET/?

如何检查文件是否已注册 COM //EXE/DLL/ 或不使用 .NET?
已邀请:

郭文康

赞同来自:

只需在注册表中进行搜索。 HKEY_CLASSES_ROOT\yourcom.component.

詹大官人

赞同来自:

这取决于。 您的组件将在注册表中注册。 Windows, 所以你需要找出什么 hive 你想看。

如果您的组件设置为 regasm, 最有可能,将被使用 HKCU, 由于它将从用户的命令行运行。 但是,如果你使用 MSI, 那 MSI 可能不使用 regasm 并可以直接投入记录 HKLM, 如果你运行 MSI 在模式 PER MACHINE /ALLUSERS = "1"/ 或作为管理员。 另一方面,如果你运行 MSI 作为用户 /ALLUSERS = ""/ 或作为一个未经特权的帐户,它将使用 HKCU.

HKCR是一个综合演示 HKLM 和 HKCU, 所以你不能说什么 hive 它实际上使用了,它可能不会给你你想知道的东西。
http://msdn.microsoft.com/en-u ... .aspx
如果是你的组成部分 COM 为每个用户注册,可能会根据用户启动安装而失败。 因此,如果您想检查它是否已安装 CORRECTLY, 您需要找出您实际想要使用的键,或者如果 HKCR 可接受的。 用于测试最终用户 HKCR 可能是最安全的测试方式,因为它将可供所有人使用 /在 .NET/ 它不会创建安全异常。

还看到这篇文章:
https://coderoad.ru/10103209/

小姐请别说爱

赞同来自:

的 Visual Studio 您可以从参考管理器执行此操作。

做出决定 Explorer > 链接

右键单击链接

选择添加链接...

选择 COM 在菜单上

此工具中最令人愉快的事情是您可以通过关键字搜索对象而不是在注册表中的导航。 请注意,您还可以查看与之无关的对象 COM, 注册 GAC.

要回复问题请先登录注册