Могу ли я рассчитывать на присутствие MSXML4? - PullRequest
3 голосов
/ 10 ноября 2009

Мы тестируем настройку нашего программного обеспечения на «чистых установочных» образах Windows XP, Vista и Windows 7. перед выпуском.

Некоторый старый код программного обеспечения по-прежнему использует MSXML4. До сих пор я предполагал, что нет необходимости устанавливать MSXML4, поскольку, очевидно, он уже присутствует при чистой установке Windows. Однако теперь у меня есть странное сообщение от пользователя Windows XP, что на его компьютере отсутствует MSXML4, и наше программное обеспечение не работает.

Значит ли это, что наши чистые установочные образы не так чисты, как мы думали? Или система Windows XP без msxml4 является патологической аномалией?

Ответы [ 3 ]

2 голосов
/ 10 ноября 2009

От Microsoft XML Team: Использование правильной версии MSXML в Internet Explorer . Ему три года, но он все еще содержит все, что вам действительно нужно знать; кроме того, это относится не только к IE, поскольку в более общих чертах говорится о различных версиях MSXML.

Быстрый и грязный ответ из этой статьи:

MSXML 3.0 - наш предпочтительный «запасной вариант» - он устанавливается на каждую ОС, начиная с полностью исправленной установки Win2k SP4 и выше, поэтому требует «нулевого развертывания» и регулярно обслуживается с ОС

РЕДАКТИРОВАТЬ: некоторые дополнительные соответствующие биты из TFA:

MSXML3 не имеет всех улучшений в MSXML6, но разработчики должны считать его надежной и стабильной платформой для приложений MSXML ... MSXML4 был предшественником MSXML6, но никогда не поставлялся в операционной системе.

1 голос
/ 10 ноября 2009

На моем компьютере с Windows 7 x64 Pro нет MSXML4 - только MSXML3 и MSXML6 (хотя я не уверен, были ли они включены в Windows или поставлялись, например, с Office). Поскольку я почти уверен, что я не удалял системные библиотеки DLL вручную с моего компьютера, я пришел к выводу, что you не может полагаться на устанавливаемый MSXML4 .

PS: Нет, MSXML6 не эмулирует MSXML4 ... Set x = CreateObject("Msxml2.DOMDocument.4.0") происходит сбой в Word VBA на моем компьютере, но Set x = CreateObject("Msxml2.DOMDocument.6.0") работает.

0 голосов
/ 10 ноября 2009

Вы можете предположить, что это аномалия. Держу пари, что пользователь удалил MSXML со своего компьютера, намеренно или случайно.

Тем не менее, вы все равно должны проверить наличие MSXML4 во время установки и выдать ошибку, если она отсутствует.

...