64位.Net应用程序中的tlbinf32.dll

时间:2017-03-03 02:08:04

标签: com tlbinf32

似乎没有tlbinf32.dll的64位版本,这个(旧的)COM DLL用于提取COM组件的信息。 (见SO answer

我需要从64位C#应用程序访问它。 我没有设法将它托管到一个单独的代理过程中,我仍然获得异常REGDB_E_CLASSNOTREG。我的代码适用于x86平台,但我必须为64位实现它。

任何人都可以通过提供逐步程序将其发布到代理(Dllhost) - 或者使用其他方式来帮助我吗?

你知道一个更好的替代方法来浏览本地COM Dll的所有方法,类吗?

1 个答案:

答案 0 :(得分:4)

  • 打开Windows“组件服务”
  • 将节点打开到“我的电脑/ COM +应用程序”
  • 右键单击,选择添加新应用程序
  • 选择“空应用程序”,将其命名为“tlbinf”,例如
  • 确保您选择“服务器应用程序”(意味着它将是一个代理,该向导将很好地帮助您创建)
  • 选择您希望服务器应用程序运行的用户(对于测试,您可以选择交互式用户,但这是一个重要决策)
  • 您不必添加任何角色,也不需要添加任何用户
  • 打开这个新创建的应用,右键单击“组件”并选择添加新的
  • 选择安装新组件
  • 浏览到你的tlbinf32.dll位置,在向导检测到3个接口后显示“下一步”

就是这样。你应该看到这样的东西:

enter image description here

现在您可以使用相同的客户端代码,它应该可以工作。请注意,性能不具有可比性(进程外和进程外)。

您刚创建的代理应用程序有很多参数,您可以稍后使用相同的UI重新配置。您还可以编写脚本或编写代码(C#,powershell,VBScript等)以自动完成上述所有步骤。