DCOMCNFG:为啥 dll 不显示?
Posted
技术标签:
【中文标题】DCOMCNFG:为啥 dll 不显示?【英文标题】:DCOMCNFG: why doesn't dll show up?DCOMCNFG:为什么 dll 不显示? 【发布时间】:2009-04-30 16:36:27 【问题描述】:我有一个通过 RegSvr32 注册的 COM DLL,但它没有显示在 DComCnfg 中。
有什么帮助吗?
我想我缺少一些注册表项,但我不明白为什么会这样,我认为 RegSvr32 为我做到了。
感谢您的帮助。
【问题讨论】:
【参考方案1】:regsvr32 仅运行您的 DLL 公开的注册功能。如果您的 DLL 中的注册信息有误,regsvr32 对此无能为力。如果您不确定要查找什么,您可以尝试运行 Regmon(通过 sysinternals)并将过滤器设置为 *regsvr32* 左右,然后查找已注册的 GUID。然后在 DCOMCNFG 的详细信息视图中查找它们。如果 regsvr32 成功,您可能会在那里找到它。这将使您了解问题的根源,但实际解决方案取决于您的注册信息中的错误。
另一个远程选项是您有一些 32-64 位冲突,其中 regsvr32 以 32 位运行,而 DCOMCNFG 以 64 位运行,反之亦然。我不确定 DCOMCNFG 在这种情况下会显示什么 - 我从来没有遇到过这个问题,但是 32 位和 64 位的注册表配置单元不同,也许你没有找对地方。
【讨论】:
【参考方案2】:适用于大多数 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 Config) 注册 32 位 COM 应用程序
开始...运行... mmc -32 转到文件 → 添加/删除管理单元并添加“组件服务” 条目将被自动添加。添加条目后,您可以再次使用 64 位 DCOMCNFG。【讨论】:
【参考方案3】:在 64 位服务器上注册 32 位 COM 应用程序的另一种方法
开始...运行...C:\WINDOWS\SysWOW64\mmc comexp.msc /32如此处所述 http://msdn.microsoft.com...dcomcnfg.exe_and_64-bit_applications
【讨论】:
以上是关于DCOMCNFG:为啥 dll 不显示?的主要内容,如果未能解决你的问题,请参考以下文章