繁体   English   中英

获取“ Activex组件无法创建对象”

[英]Getting “Activex Component Cant Create Object”

我试图从VB脚本代码调用C#函数,但出现“ Activex组件无法创建对象”错误。

我已经做了以下工作。

  1. 创建带有ProgID的类库,并为Comvisible True和Strong命名
  2. 使用RegAsm.exe / codebase dllpath注册了dll(Dll已成功注册,我能够在注册表中看到它)
  3. 使用VB脚本代码创建对象并按如下所示调用C#函数。
Option Explicit
Dim testwfhandler
Set testwfhandler= CreateObject("CoreComponentWorkflow.WorkflowHandler")
If Not testwfhandler Is Nothing Then
    Call testwfhandler.test()
End If
Set testwfhandler= Nothing

我正在从服务器上安装的第三方应用程序(Tridion工作流程)执行此VB脚本。

不知道为什么会出现上述错误,当我直接从服务器执行相同的代码时,它工作正常。

test()此函数将只创建一个日志文件并在其中添加一些文本。

答案已经通过评论提供了,但我认为提供一个真正的答案是有意义的,以便其他人可以轻松找到它。

根据VBScript的加载/执行方式,应使用32位或64位版本的RegAsm.exe注册DLL。

在64位OS上,您应该在C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\RegAsm.exe找到32位版本的regasm。

并且应该在64位版本的regasm, C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\RegAsm.exe

如果要自己在64位计算机上以32位模式运行VBScript,请参见如何在64位计算机上以32位模式运行VBScript?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM