2009-06-02 2 views
4

Откуда возникает объект «MSXML2.ServerXMLHTTP.4.0»? Какой пакет установки?MSXML2.ServerXMLHTTP.4.0 Источник?

Я пытаюсь сделать следующее:

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

Эта попытка терпит неудачу на моей машине развития (объект не возвращается), но она успешна на машине развития моего коллеги. Очевидно, что у него есть что-то установленное, что я не делаю или наоборот, но откуда этот объект, dll и т. Д.?

Что мне нужно для установки, чтобы этот звонок работал?

Для записи изменение объекта в другой версии не является вариантом, поскольку код, от которого это зависит, был протестирован в течение нескольких дней с этой конкретной версией. Нам нужно вернуться и снова протестировать ...

Чтобы узнать об этом, как узнать, какая версия MS XML установлена ​​на данный момент?

+0

В этом сообщении блога есть код для чтения из реестра текущей версии для COM-класса. http://exceldevelopmentplatform.blogspot.com/2018/02/vba-progid-what-is-current-version.html –

ответ

4

Попробуйте использовать эту функцию: -

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 не получают никаких патчей безопасности.

+0

Эй, там. Спасибо за код. Я дам ему тест немного. В ответ на новую разработку это не так. Нам нужно адаптировать устаревший код в старой системе для работы с SharePoint. Мы использовали 3.0, и разработчик, назначенный для выяснения того, как это сделать, переместился в 4.0, а затем протестировал все без проверки того, что было последней версией. Я бы предпочел 6.0, но исследование было сделано неправильно. Не то, чтобы у нас было время ... –

+0

Кажется, работать, спасибо. –

+0

Anthony - Почему Microsoft исправляет только 3.0 и 6.0? Что особенного в 4.0 и 5.0, что они должны стать сиротами? – Cheeso

0

Я установил: MSXML 4.0 SP2 и исправил мою проблему.

Хотя это только ответы на часть моего вопроса: какую версию установить. Мне все равно хотелось бы узнать, как определить, какая версия MS XML установлена ​​в вашей системе.

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

1

Все они могут быть установлены в одно и то же время. Взгляните в Windows/system32/msxml (ver) .dll.

Если вы имеете в виду, какая версия зарегистрирована, посмотрите здесь:

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

конечно, вы можете зарегистрироваться/незарегистрированный же, как и любой другой DLL.

0

Обратите внимание, что MSXML 4.0 SP2 has meet its end of support. Вы должны перейти на MSXML 6.0, чтобы получить максимальную поддержку и улучшения, или вернуться к MSXML 4.0 SP3 для устаревших систем.

+0

Спасибо, я знал об этом. :-) –