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

Mal*_*ick 3 com tlbinf32

似乎没有64位版本的tlbinf32.dll,这个(旧的)COM DLL用于提取COM组件的信息。(请参阅此SO答案)

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

任何人都可以通过提供逐步过程以将其启动到代理(Dllhost)或另一种使用它的方式来帮助我吗?

您知道浏览本机COM Dll的所有方法,类..的更好的选择吗?

Sim*_*ier 6

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

而已。您应该会看到以下内容:

在此处输入图片说明

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

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