代码之家  ›  专栏  ›  技术社区  ›  Wim Coenen

我可以依靠MSXML4吗?

  •  3
  • Wim Coenen  · 技术社区  · 15 年前

    在发布之前,我们在Windows XP、Vista和Windows 7的“干净安装”映像上测试软件的设置。

    软件中的一些旧代码仍然依赖于MSXML4。到目前为止,我一直认为没有必要安装MSXML4,因为显然它已经出现在Windows的干净安装中。但是,现在我收到一个来自WindowsXP用户的奇怪报告,他机器上的msxml4丢失,我们的软件无法工作。

    这是否意味着我们的干净安装映像没有我们想象的那么干净?或者没有msxml4的Windows XP系统是病理异常?

    3 回复  |  直到 15 年前
        1
  •  2
  •   NickFitz    15 年前

    来自Microsoft的XML团队: Using the Right Version of MSXML in Internet Explorer . 它有三年的历史,但仍然包含您真正需要知道的一切;而且,它不仅与IE相关,因为它以更通用的术语谈论MSXML的不同版本。

    快速而肮脏的回答,来自那篇文章:

    MSXML 3.0是我们首选的__Fallback_-它安装在每个操作系统上,从一个完全补丁的Win2K SP4安装开始,因此它需要__零部署__,并定期与操作系统一起提供服务。

    编辑:来自tfa的一些其他相关位:

    MSXML3在MSXML6中没有所有的改进,但是开发人员应该将其视为MSXML应用程序的一个健壮和稳定的平台…MSXML4是MSXML6的前身,但从未在操作系统中提供过。

        2
  •  1
  •   Heinzi    15 年前

    我的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") 作品。

        3
  •  0
  •   Paul Sonier    15 年前

    你可以假设这是一种异常。我敢打赌,无论是有意还是无意,用户已经从他们的计算机中删除了MSXML。

    也就是说,在安装时仍然应该检查msxml4是否存在,如果不存在则出错。

    推荐文章