Cannot use CreateObject from VB scripts on Windows

2019-01-13 20:46发布

问题:

When I try to create a COM object in VB script on a Windows 7 (64 bit) machine, I always get the following error:

"ActiveX component can't create object 'xxx.xxx'. Code: 800A01AD

I have applications that use the COM object without any problem. I have tried running the command line in admin mode, no difference.

Is there any way to enable this?

回答1:

The VBScript interpreter (cscript.exe/wscript.exe) comes in two flavors on a 64-bit version of Windows: a 32-bit version and a 64-bit version.

The 32-bit version can create and use 32-bit COM components only, and the 64-bit version can create and use only 64-bit COM components.

By default, .vbs files are associated with the 64-bit version. You COM component is most likely a 32-bit one, hence the error.

You can find the 32-bit version in the %windir%\SysWOW64 folder. Launching this version should give you access to all 32-bit COM components:

%windir%\SysWOW64\wscript.exe myScript.vbs

or

%windir%\SysWOW64\cscript.exe myScript.vbs