【问题标题】:activex can't create object by vbs but can by classic aspactivex 无法通过 vbs 创建对象,但可以通过经典 asp
【发布时间】:2015-02-25 19:22:09
【问题描述】:
在我的 Windows Server 2008 R2 上,我安装了一个 COM 对象,并且可以从经典的 ASP 页面创建它。
当我从 vbscript 文件中调用它时,我收到“无法创建”消息。
我尝试以管理员身份启动 Powershell 并使用它来运行脚本。没有运气。
我尝试让“每个人”用户完全控制 COM DLL。没有运气。
有什么想法吗?
【问题讨论】:
标签:
vbscript
asp-classic
com
activex
windows-server-2008-r2
【解决方案1】:
对我来说唯一有意义的是 COM 对象与类 ASP 具有相同的位数,而与脚本引擎具有不同的位数。我不知道,但我猜经典的 ASP 是 32 位的,而您的 COM 对象是 32 位的。
要检查它是否为位(32 位和 64 位之间不匹配),请转到命令行并键入
cscript myscript.vbs
其中 myscript.vbs 是您的 vbscript 文件的名称/路径。然后,从命令行输入
C:\Windows\SysWOW64\cscript myscript.vbs
从标准命令提示符运行的 cscript(或 wscript)版本是 64 位。从\Windows\SysWOW64 目录运行的是32 位版本。
您还可以查看对象的注册。
您可以在HKEY_CLASSES_ROOT 下的注册表中查看ProgID 并找到CLSID。
对象的 64 位配置单元将位于 HKEY_CLASSES_ROOT\CLSID\Your-prog-id 下。
对象的 32 位配置单元将位于 HKEY_CLASSES_ROOT\Wow6432Node\CLSID\Your-prog-id 下。