【问题标题】:Application showing error Microsoft MsXml is not installed应用程序显示错误 Microsoft MsXml 未安装
【发布时间】:2014-09-02 14:52:31
【问题描述】:

我的应用程序是使用 C++ builder XE3 制作的。 在我的应用程序中,我使用 XML.xmldoc.hpp 完成了一些 xml 解析

在 XP 机器上,当我运行应用程序时,它会显示消息框 “未安装 Microsoft msxml”。

谁能帮帮我??

【问题讨论】:

    标签: xml-parsing c++builder c++builder-xe3


    【解决方案1】:

    错误信息有点误导。这并不意味着根本没有安装 MSXML。 MSXML 使用 COM,错误消息实际上意味着无法通过 CoCreateInstance() 实例化 MSXML COM 对象(TXMLDocument 的 MSXML DOMVendor 尝试在放弃之前实例化几个不同版本的 MSXML)。这是一个微妙但重要的区别。例如,如果您在工作线程中使用 XMLDocument,则必须确保事先调用 CoInitialize/Ex()。 C++Builder 在主 UI 线程中为您执行此操作,但您必须在工作线程中手动执行此操作。

    【讨论】:

      【解决方案2】:

      您可能需要找到 msxml6.dll 安装程序(Windows 7 的标准配置)

      XP 使用 msxml4.0

      link download

      【讨论】:

      • 我有另一个运行良好的应用程序.. 所以首先我想我必须将 xe3 的 xmlrtl.bpi 文件静态链接到应用程序。 ..我做到了,但它也不起作用。 .我的另一个应用程序没有使用 msxml6.dll,但它仍然可以正常工作。
      • Embarcadero 的 MSXML 支持非常智能,可以从 v6 开始并根据需要加载旧版本,直到其中一个成功或全部失败。
      • 我在声明中遇到了错误。 . _di_IXMLDocument pDoc = NewXMLDocument(L"1.0");
      • 所以我不明白为什么 NewXMLDocument 函数调用会返回此消息。
      • 我应该在静态链接包中包含哪个 .bpi 文件
      猜你喜欢
      • 1970-01-01
      • 2013-12-27
      • 2015-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多