DCOMCNFG:为什么不出现?

时间:2009-04-30 16:36:27

标签: dll dcom

我有一个通过RegSvr32注册的COM DLL,但它没有显示在DComCnfg中。

为什么有任何帮助?

我想我错过了一些注册表项,但我不明白为什么会这样,我认为RegSvr32为我做了这个。

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

regsvr32仅运行您的DLL公开的注册功能。如果DLL中的注册信息有误,则regsvr32无法对其执行任何操作。如果您不确定要查找的内容,可以尝试运行Regmon(通过sysinternals)并将过滤器设置为* regsvr32 *左右,然后查找已注册的GUID。然后在DCOMCNFG的详细信息视图中查找它们。如果regsvr32成功,您可能会在那里找到它。这将使您了解问题的根源,但实际的解决方案取决于您的注册信息中的错误。

另一个远程选项是你有一些32-64位冲突,其中regsvr32以32位运行,DCOMCNFG以64位运行,反之亦然。我不确定在这种情况下DCOMCNFG显示了什么 - 我从来没有遇到过这个问题,但是有32位和64位不同的注册表配置单元,也许你找不到合适的位置。

答案 1 :(得分:1)

适用于大多数32位COM应用程序

  • 将服务器系统文件安装到c:\ Windows \ SysWOW64
  • 将.UDL文件安装到c:\ program Files(x86)\ common files \ system \ OLE DB \ Data Links \
  • 将所有应用程序文件安装到c:\ program Files(x86)\ ...
  • 将32位SQL Server 2005/2008安装到c:\ program Files(x86)\ ...

通过DCOMCNFG(DCOM配置)注册32位COM应用程序

  • 开始...运行... mmc -32
  • 转到文件→添加/删除管理单元并添加“组件服务”
  • 将自动添加条目。添加条目后,您可以再次使用64位DCOMCNFG。

答案 2 :(得分:0)

在64位服务器上注册32位COM应用程序的另一种方法

  • 开始...运行... C:\ WINDOWS \ SysWOW64 \ mmc comexp.msc / 32

如此处所述 http://msdn.microsoft.com...dcomcnfg.exe_and_64-bit_applications