5

オブジェクト「MSXML2.ServerXMLHTTP.4.0」はどこから来たのですか?どのインストールパッケージですか?

私は次のことをしようとしています:

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

この試行は私の開発マシンでは失敗します(オブジェクトは返されません)が、同僚の開発マシンでは成功します。明らかに、彼は私がインストールしていないもの、またはその逆の何かをインストールしていますが、このオブジェクト、dllなどはどこから来ていますか?

この呼び出しを機能させるには、何をインストールする必要がありますか?

ちなみに、オブジェクトを別のバージョンに変更することはできません。これは、これに依存するコードがこの特定のバージョンに対して数日間テストされたためです。戻ってもう一度テストする必要があります...

この質問を拡張するために、現在インストールされているMS XMLのバージョンを確認するにはどうすればよいですか?

4

4 に答える 4

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プラットフォームに遍在しているため、インストールをまったく検討する必要がないという利点があります。または、MSXMLのディストリビューションを含める必要があるため、6.0を使用しています。これは最新であり、4も5もセキュリティパッチを取得していないため、6である可能性があります。

于 2009-06-02T21:04:20.517 に答える
1

それらはすべて同時にインストールできます。Windows / system32 / msxml(ver).dllの下を見てください。

登録されているバージョンを意味する場合は、こちらをご覧ください:

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

もちろん、他のdllと同じように登録/登録解除できます。

于 2009-06-06T17:45:39.977 に答える
1

MSXML4.0SP2のサポートが終了したことに注意してください。最高のサポートと拡張機能を得るにはMSXML6.0に移行するか、レガシーシステムの場合はMSXML4.0SP3にフォールバックする必要があります。

于 2010-04-21T05:08:22.257 に答える
0

MSXML 4.0 SP2をインストールしましたが、問題は解決しました。

これは私の質問の一部にしか答えませんが、どのバージョンをインストールするかです。システムにインストールされているMSXMLのバージョンを特定する方法を知りたいのですが。

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

于 2009-06-02T20:37:41.130 に答える