MSXML2.ServerXMLHTTP.4.0来源?

Fra*_*k V 5 vbscript msxml object

对象"MSXML2.ServerXMLHTTP.4.0"来自哪里?哪个安装包?

我正在尝试执行以下操作:

Set oXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.4.0")
Run Code Online (Sandbox Code Playgroud)

这个尝试在我的开发机器上失败(没有返回任何对象),但它在我的同事的开发机器上是成功的.显然,他安装的东西我没有,反之亦然,但是这个对象,dll等来自何处?

我需要安装什么才能使此调用工作?

对于记录,将对象更改为其他版本不是一种选择,因为此依赖的代码针对此特定版本进行了几天的测试.我们必须再回去测试......

要扩展此问题,如何判断当前安装的MS XML版本?

Ant*_*nes 5

尝试使用此功能: -

Function ProgIDInstalled(progID)
    On Error Resume Next
    Dim o : Set o = CreateObject(progID)
    ProgIDInstalled = Err.Number = 0
End Function

If ProgIDInstalled("MSXML2.DOMDocument.3.0") Then
    ' MSXML3 is present   '
End If

If ProgIDInstalled("MSXML2.DOMDocument.4.0") Then
    ' MSXML4 is present   '
End If

If ProgIDInstalled("MSXML2.DOMDocument.5.0") Then
    ' MSXML5 is present   '
End If

If ProgIDInstalled("MSXML2.DOMDocument.6.0") Then
    ' MSXML6 is present   '
End If
Run Code Online (Sandbox Code Playgroud)

让我感到惊讶的是,即使是现在,仍然有新的开发正在针对4.0版本.Microsoft现在只修补3.0版和6.0版MSXML内核.

我现在知道它已经太晚了,但实际上你应该使用3.0,它的优点是它在目前支持的所有Windows平台上无处不在,所以你根本不需要考虑安装它.或者使用6.0,因为你需要包含MSXML的发行版,它也可能是6,因为它是最新的,4和5都没有获得任何安全补丁.

  • 两个原因.目前支持的所有系统都有3.0.因此,如果您正在编写需要使用MSXML的脚本(客户端上的ASP或Javascript),您将使用3.0.因此MS不能忽视3.0,尽管他们愿意.4.0和5.0 OTH几乎没有使用,需要由一些想要使用它们的应用程序安装.因此可以推断,保持最新版本所需的工作并不值得,因为使用MSXML的主要供应商现在肯定会使用6.0,这已经是当前版本已经有一段时间了. (2认同)