tlbinf32.dll在64位.Net应用程序中 [英] tlbinf32.dll in a 64bits .Net application

查看:60
本文介绍了tlbinf32.dll在64位.Net应用程序中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

似乎没有64位版本的 tlbinf32.dll ,该(旧)COM DLL用于提取COM组件的信息.(请参见

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

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

It seems there is no 64 bits version of tlbinf32.dll, this (old) COM DLL is used to extract informations of COM components. (see this SO answer )

I need to access it from a 64 bits C# application. I did not manage to host it into a separate surrogate process, I'm still obtaining the exception REGDB_E_CLASSNOTREG . My code works for x86 platforms but I have to implement it also for 64 bits.

Can any one help me by providing a step by step procedure to launch it into a surrogate (Dllhost) - or maybe another way to use it ?

Do you know a better alternative to browse trough all methods, classes.. of a native COM Dll ?

解决方案

  • open Windows' "Component Services"
  • open nodes to "My Computer/COM+ Applications"
  • right-click, choose to add a new Application
  • choose an "empty application", name it "tlbinf" for example
  • make sure you choose "Server application" (means it will be a surrogate that the wizard will be nice to help you create)
  • choose the user you want the server application to run as (for testing you can choose interactive user but this is an important decision to make)
  • you don't have to add any role, not any user
  • open this newly created app, right-click on "Components" and choose to add a new one
  • choose to install new component(s)
  • browse to your tlbinf32.dll location, press "Next" after the wizard has detected 3 interfaces to expose

That's it. You should see something like this:

Now you can use the same client code and it should work. Note the performance is not comparable however (out-of-process vs in-process).

The surrogate app you've just created has a lots of parameters you can reconfigure later on, with the same UI. You can also script or write code (C#, powershell, VBScript, etc.) to automate all the steps above.

这篇关于tlbinf32.dll在64位.Net应用程序中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆