为什么我必须使用regasm注册COM DLL?

时间:2015-02-16 14:04:22

标签: vb.net dll vb6

我用VB.NET创建了一个COM DLL。 它有COMVisible = true,并且使用它的TLB文件,我可以在VB6中使用这个DLL。

在测试机器上,我只能在使用regasm.exe注册后在VB6应用程序中使用COM DLL。

有人知道为什么我必须使用regasm注册它,或者是否有任何方法我不需要使用regasm注册它?

1 个答案:

答案 0 :(得分:1)

.NET不会制作COM dll。它模拟COM。当您注册.NET COM DLL时,它会注册核心.NET DLL(MSCORE.DLL),它处理和转换COM调用并传递给.NET DLL。

如果regasm只能执行每台机器安装是上面的问题,那么从Regasm导出为reg文件。使用HKCR然后HKCU\Software\Classes搜索并替换regedit /s <path to reg file>。非管理员可以通过合并reg文件来安装。