Источник MSXML2.ServerXMLHTTP.4.0?

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

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

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

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

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

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

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


person Frank V    schedule 02.06.2009    source источник
comment
В этом сообщении в блоге есть код для чтения из реестра текущей версии для класса COM. exceldevelopmentplatform.blogspot.com/2018/02/   -  person S Meaden    schedule 06.02.2018


Ответы (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 исправляет только ядра MSXML версии 3.0 и версии 6.0.

Я знаю, что уже слишком поздно, но на самом деле вам следует либо использовать версию 3.0, преимущество которой заключается в том, что она повсеместна на всех платформах Windows, которые в настоящее время поддерживаются, поэтому вам вообще не нужно рассматривать ее установку. ИЛИ используйте 6.0, так как вам нужно включить дистрибутив MSXML, это также может быть 6, поскольку это самая последняя версия, и ни 4, ни 5 не получают никаких исправлений безопасности.

person AnthonyWJones    schedule 02.06.2009
comment
Привет. Спасибо за код. Я дам ему тест в немного. В ответ на новую разработку, это не так. Нам нужно адаптировать устаревший код в устаревшей системе для работы с SharePoint. Мы использовали 3.0, и разработчик, которому было поручено выяснить, как заставить это работать, перешел на 4.0, а затем протестировал все, не проверяя, какая была последняя версия. Я бы предпочел 6.0, но исследование не было проведено должным образом. Не то чтобы у нас было время... - person Frank V; 03.06.2009
comment
Энтони. Почему Microsoft исправляет только версии 3.0 и 6.0? Что особенного в 4.0 и 5.0, что они должны быть осиротевшими? - person Cheeso; 03.06.2009
comment
Две причины. 3.0 присутствует на всех поддерживаемых в настоящее время системах. Поэтому, если вы пишете скрипт (ASP или Javascript на клиенте), который должен использовать MSXML, вы будете использовать 3.0. Следовательно, MS не может игнорировать 3.0, как бы им этого ни хотелось. 4.0 и 5.0 OTH используются не так часто и должны быть установлены каким-либо приложением, которое хочет их использовать. Следовательно, можно сделать вывод, что усилия, необходимые для поддержания их в актуальном состоянии, не стоят того, поскольку основные поставщики, использующие MSXML, наверняка теперь будут использовать версию 6.0, которая была текущей версией в течение достаточно долгого времени. - person AnthonyWJones; 03.06.2009

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

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

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

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

person Community    schedule 06.06.2009

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

person Samuel Zhang    schedule 21.04.2010
comment
Спасибо - я знал об этом. :-) - person Frank V; 21.04.2010

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

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

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

person Frank V    schedule 02.06.2009