MSXML在64应用程序中没法创建

MSXML在64应用程序中无法创建
HRESULT initresult;
MSXML2 ::IXMLDOMDocumentPtr pDoc ;
initresult = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument40));

if (initresult != S_OK)
{
//无法初始化成功
}


以上代码在编译成32位应用程序时,使用正常,在32位和64位操作系统上都可以。
编译成64位应用程序时,总是出错(64位程序在64位操作系统上才能运行)。

不知道大家有什么排查思路。

------解决方案--------------------
是否需要在64位机器上装32位的msxml运行环境?
------解决方案--------------------
如果不支持64位,那么就只用32位程序,64位OS可以兼容32位程序
------解决方案--------------------
引用:
错误是80040154.
排除组件没有注册的情况,因为编译成32位程序是没问题的。
排除权限不足的情况,因为32位程序是没问题的。

引用:接口中是不是有什么查询错误的接口,看看到底是因为什么失败。
失败后initresult是多少?

你怎么就能这么肯定呢?
32位机上跑没问题,并不代表64位机上跑就没问题。
0x80040154,网上查了下,好像就是没有注册的原因。
CMD命令下运行“regsvr32 msxml2.dll”试试呢。