Com Windows脚本可以';找不到参考资料

Com Windows脚本可以';找不到参考资料,com,vbscript,wsh,Com,Vbscript,Wsh,我有一个windows脚本文件不再工作了 脚本是这样的 <job> <reference object="Some.Component.1" /> <script language="VBScript"> x = CreateObject("Some.Component.1") MsgBox TypeName(x) </script> </job> x=CreateObject(“Some.Compone

我有一个windows脚本文件不再工作了

脚本是这样的

<job>
    <reference object="Some.Component.1" />
    <script language="VBScript">

x = CreateObject("Some.Component.1")
MsgBox TypeName(x)

    </script>
</job>

x=CreateObject(“Some.Component.1”)
MSGBoxTypeName(x)
当我用cscript或wscript运行脚本时,我得到了错误

Windows脚本主机:找不到此引用的类型库: 部分。第1部分

错误代码为0x80040068,表示“索引无效”。(我试图删除
.1
索引,但没有成功)

奇怪的是,如果我删除行
,CreateObject行就会工作,对象就会被创建

我知道剧本大约在一年前就成功了。“Some.Component”库已经更新,但由于CreateObject工作,我不知道它有什么问题

我在Server2008R2(64位)、Server2003(32位)和Windows7(64位)上测试了该脚本,但出现了相同的错误

有些。组件是32位的。对于64位机器,我在SysWow64文件夹中使用了cscript、wscript


(我需要
来访问组件中的枚举)

类型库未注册。这与正在注册的对象是不同且独立的。通常控件会同时执行这两项操作

我建议您首先尝试注销并重新注册DLL

regsvr32.exe /u c:\path\to\control.dll
regsvr32.exe c:\path\to\control.dll
如果不起作用,请尝试使用RegTLib.exe直接注册类型库(
*.tlb

regtlib.exe c:\path\to\control.dll

请注意,类型库可以是单独的文件,也可以嵌入到DLL中

有关regTLib.exe的详细信息,请参见此处:


可能是版本号已更改吗?您可以在ProgID的末尾指定它(正如您所做的那样),或者将其指定为显式属性
。版本仍然是1.0。尝试明确指定,但无效。感谢您的回复。我知道我测试了regsvr32,但我不知道regtlib。从那以后我换了工作,所以我不能测试它。也许这对其他人有帮助,所以我把它标记为答案。
regtlib.exe c:\path\to\control.tlb