2015-03-02 42 views
3

我为c#制作了一个COM包装器,用于vba中。我编译了它,之后我用gacutil和regasm将它安装在我的电脑上,之后我用vba引用它,并且它工作得很完美。Register tlb COM

现在我想在另一台PC上使用这个foo.tlb,但它没有gacutil或VS.

我只需要为这个tlb执行regasm.exe?或者我还需要做什么?

+0

COM组件应该有一个安装程序。大多数程序员等同于创建一个完成根管。但使用正确的实用工具很简单,就像[VS扩展](https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d)。你没有*拥有一个,你可以随Regasm.exe一起跛行而不必将其放入GAC。使用/ tlb和/ codebase选项。 – 2015-03-02 12:55:27

回答

-1

如果您只需要注册typelib,则可以使用tlb注册实用程序,例如regtlibv12,在C:\Windows\Microsoft.NET\Framework\v4.0.30319中找到。不幸的是,它在这个目录中的存在是不能保证的,特别是在已经预装了.NET的较新的Windows版本中。如果有疑问,请尝试在较旧的系统上找到副本。

0

你只需要在装配使用regasm汉斯·建议:

把组装的地方在目标系统上,并调用regasm /tlb /codebase <assembly name>。这将创建一个新的*.tlb文件和必要的注册表项,以使组件和类型库COM在其当前位置可见。

没有/codebase该程序集需要在GAC中才能找到。