在C#dll上免费注册COM,VBScript chokes

时间:2010-09-13 17:25:57

标签: c# .net vb6 com-interop hmail-server

我正在尝试使用第三方应用程序(hMailServer)来使用我的C#库。它们使用VBScript挂钩支持第三方库。我使用注册完整的COM让一切工作正常,但现在想要免费注册。

我修改了hMailServer.exe清单并在我的C#库中添加了清单。现在hMailServer服务启动得很好,SxS跟踪显示找到了库。如果我忽略了创建我的C#库清单,我会收到一条错误,“Windows无法在本地计算机上启动hMailServer服务...因为它并排配置不正确”而sxstrace会出错,所以我知道清单很好。但是,VBScript事件无法运行,并出现以下错误:

  

脚本错误:源(null) - 错误:   8013101B - 描述(null) - 行:2   列:1 - 代码(null)

VB6脚本的前两行只读:

Dim oHandlers
Set oHandlers = CreateObject("hMailServerPlugins.EventHandlers")

(hMailServerPlugins.EventHandlers显然是我的COM可见类的名称)

如前所述,COM注册一切正常。知道我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

这可能有点晚了,但是如果你混合了.Net框架版本,我已经看到了这个错误。如果你先打开一个较小版本的CLR,那么在事实发生之后尝试使用更新的框架创建一个C#COM对象将会失败并带有该异常。