MSXML2.ServerXMLHTTP.4.0来源?

时间:2009-06-02 20:28:28

标签: vbscript object msxml

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

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

Set oXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.4.0")

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

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

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

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

4 个答案:

答案 0 :(得分: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

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

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

答案 1 :(得分:1)

它们都可以同时安装。看看Windows / system32 / msxml(ver).dll。

如果您的意思是注册了哪个版本,请查看此处:

http://support.microsoft.com/kb/278674

当然,您可以注册/取消注册与任何其他dll相同。

答案 2 :(得分:1)

请注意MSXML 4.0 SP2 has meet its end of support。您应该迁移到MSXML 6.0以获得最佳支持和增强,或者回退到MSXML 4.0 SP3以用于旧系统。

答案 3 :(得分:0)

我安装了MSXML 4.0 SP2并解决了我的问题。

虽然这只回答了我的一部分问题:要安装哪个版本。我仍然想知道如何识别一个系统上安装的MS XML版本。

http://www.microsoft.com/downloads/details.aspx?familyid=3144b72b-b4f2-46da-b4b6-c5d7485f2b42&displaylang=en