Могу ли я рассчитывать на присутствие MSXML4?
Мы тестируем установку нашего программного обеспечения на "чистых установочных" образах Windows XP, Vista и Windows 7 перед выпуском.
Некоторый старый код в программном обеспечении все еще использует MSXML4. До сих пор я предполагал, что нет необходимости устанавливать MSXML4, потому что, очевидно, он уже присутствует в чистых установках Windows. Тем не менее, теперь у меня есть странный отчет от пользователя Windows XP, что MSXML4 отсутствует на его компьютере, и наше программное обеспечение не работает.
Значит ли это, что наши чистые установочные образы не так чисты, как мы думали? Или система Windows XP без msxml4 является патологической аномалией?
3 ответа
От команды Microsoft XML: Использование правильной версии MSXML в Internet Explorer. Ему три года, но он все еще содержит все, что вам действительно нужно знать; кроме того, это относится не только к IE, поскольку в более общих чертах говорится о различных версиях MSXML.
Быстрый и грязный ответ из этой статьи:
MSXML 3.0 - наш предпочтительный "запасной вариант" - он устанавливается на каждую ОС с полностью исправленной установки Win2k SP4 и выше, поэтому требует "нулевого развертывания" и регулярно обслуживается с ОС
РЕДАКТИРОВАТЬ: некоторые дополнительные соответствующие биты из TFA:
MSXML3 не имеет всех улучшений в MSXML6, но разработчики должны считать его надежной и стабильной платформой для приложений MSXML... MSXML4 был предшественником MSXML6, но никогда не поставлялся в операционной системе.
На моем компьютере с Windows 7 x64 Pro нет MSXML4 - только MSXML3 и MSXML6 (хотя я не уверен, были ли они включены в Windows или поставлялись, например, с Office). Поскольку я почти уверен, что я не удалял вручную какие-либо системные DLL-файлы с моего компьютера, я пришел к выводу, что вы не можете полагаться на установку MSXML4.
PS: нет, MSXML6 не эмулирует MSXML4... Set x = CreateObject("Msxml2.DOMDocument.4.0")
не удается в Word VBA на моей машине, но Set x = CreateObject("Msxml2.DOMDocument.6.0")
работает.
Вы можете предположить, что это аномалия. Держу пари, что пользователь удалил MSXML со своего компьютера, намеренно или случайно.
Тем не менее, вы все равно должны проверить наличие MSXML4 во время установки и вывести ошибку, если она отсутствует.