Com Windows Server 2008r2上的MSXML4.0-无法创建对象MSXML2.ServerXMLHTTP.4.0
我们有一个很大的代码库(主要是vbscript),我正在从Windows 2000(32位)服务器迁移到Windows 2008 R2(64位)。这段代码的大部分依赖于MSXML 4.0解析器,不幸的是,我们没有选择使用版本3或版本6(原因超出了本问题的范围) 我已经按照上的说明安装了MSXML的4.0版本,并验证了安装是否正确。“msxml4.dll”存在于“c:\windows\syswow64”中,注册表中的HKEY_CLASSES_ROOT\Msxml2.ServerXMLHTTP.4.0中有一个项。我甚至对dll运行了regsrv32.exe,它说它注册正确 然而,当你尝试去做的时候Com Windows Server 2008r2上的MSXML4.0-无法创建对象MSXML2.ServerXMLHTTP.4.0,com,vbscript,windows-server-2008-r2,msxml4,Com,Vbscript,Windows Server 2008 R2,Msxml4,我们有一个很大的代码库(主要是vbscript),我正在从Windows 2000(32位)服务器迁移到Windows 2008 R2(64位)。这段代码的大部分依赖于MSXML 4.0解析器,不幸的是,我们没有选择使用版本3或版本6(原因超出了本问题的范围) 我已经按照上的说明安装了MSXML的4.0版本,并验证了安装是否正确。“msxml4.dll”存在于“c:\windows\syswow64”中,注册表中的HKEY_CLASSES_ROOT\Msxml2.ServerXMLHTTP.4.
Set objAsp = CreateObject("MSXML2.ServerXMLHTTP.4.0")
它失败于:
Script: C:\test.vbs
Line: 1
Char: 1
Error: ActiveX component can't create object: 'MSXML2.ServerXMLHTTP.4.0'
Code: 800A01AD
Source: Microsoft VBScript runtime error
New-Object : Retrieving the COM class factory for component with CLSID {88D969C6-
F192-11D4-A65F-0040963251E5} failed due to the following error: 80040154 Class not
registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
At line:1 char:11
+ $objAsp = New-Object -ComObject MSXML2.ServerXMLHTTP.4.0
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [New-Object], COMException
+ FullyQualifiedErrorId :
NoCOMClassIdentified,Microsoft.PowerShell.Commands.NewObjectCommand
在powershell中:
$objAsp = New-Object -ComObject MSXML2.ServerXMLHTTP.4.0
它失败于:
Script: C:\test.vbs
Line: 1
Char: 1
Error: ActiveX component can't create object: 'MSXML2.ServerXMLHTTP.4.0'
Code: 800A01AD
Source: Microsoft VBScript runtime error
New-Object : Retrieving the COM class factory for component with CLSID {88D969C6-
F192-11D4-A65F-0040963251E5} failed due to the following error: 80040154 Class not
registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
At line:1 char:11
+ $objAsp = New-Object -ComObject MSXML2.ServerXMLHTTP.4.0
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [New-Object], COMException
+ FullyQualifiedErrorId :
NoCOMClassIdentified,Microsoft.PowerShell.Commands.NewObjectCommand
提前感谢。我认为默认情况下您运行的是64位版本的CScript和Powershell,但MSXML是一个32位组件
这里有一个链接,解释如何在64位操作系统上启动32位版本的Powershell:谢谢,我来试一试!您是否尝试在注册表中搜索
MSXML2.ServerXMLHTTP.4.0
?如果有,您可以使用其CLS Id[]创建。例如: