我正在尝试运行使用7年历史的第3方32位COM组件的VBScript脚本 在Windows Server 2008 R2上,使用命令行32位脚本主机SysWOW64 \ cscript.exe。当我在类上调用CreateObject时,它看起来是成功的,但是当我第一次尝试在对象上使用属性或方法(我已经尝试了几个不同的属性)时,它给了我“灾难性的失败”。我与SysWOW64 \ wscript.exe的结果相同,当然,我的错误信息是在msgbox而不是命令行窗口中。
我认为这必须专门针对64位脚本主机,因为以下内容:
我的Google搜索此问题的解决方案主要是通过将COM组件放入Visual Studio的工具栏中解决了许多不同的问题。显然,该解决方案不适用于此。
我的问题是:
提前致谢。
答案 0 :(得分:3)
请勿阅读错误文本中的任何内容。 “灾难性故障”必定是有史以来最糟糕的HRESULT代码。程序员使用E_UNEXPECTED错误代码,这在COM编程中很常见。它通常表示“我不能做这个工作,但我不知道为什么”。当然,这并没有给你很多选择来找出原因。
它不太可能与在64位版本的Windows上运行直接相关。您正在使用32位脚本主机,它们可以很好地为COM服务器提供32位执行环境。更有可能的是,安装中存在某些不妥之处,某种缺失的组件。解决这个问题的唯一好方法是联系COM服务器的作者或供应商以获得支持。如果这不切实际,请考虑在引导早期版本Windows的虚拟PC中运行它。