突然,我们的某些客户在程序尝试实例化MSXML2.DOMDocument时遇到ActiveX组件无法创建对象错误。我们在这里讨论一个VB6应用程序,它写在一台计算机上,该计算机设置了对msxml2.dll的引用,而没有其他的xml-dll。当我们发布部署时,我们每次都部署msxml2.dll msxml2a.dll和msxml2r.dll,并且从来没有任何问题。msxml .dll的奇怪行为
还没有这个时间!就好像Windows环境本身已经改变一样,并拒绝注销/重注册流程。 无论我做什么,我都无法让客户端计算机成功实例化MSXML2.DOMDocument。 使事情变得更加奇怪:当我从system32文件夹重命名/取消注册/删除所有msxml2 *文件时,没有遇到问题的客户端仍能正常运行,因此它们似乎不需要.dll!通常这些客户端将安装msxml3,4和6的组合。我搜索了硬盘驱动器,并且没有其他的msxml2副本。
有人可以帮助获得一个开始抓住这个莫名其妙的问题?
编辑:只是一个简单的设置文档=新的MSXML2.DOMDocument足以导致错误。
对于无法创建对象的时间,您有更具体的错误吗?然后下一步将是注册表;去找到MSXML2.DOMDocument类并按照它的实现类。这应该显示哪个.dll文件正在用于您正在使用的对象。当你注册一个COM对象(如MSXML)时,它只需将信息写入注册表。使用'regsvr32 MSXML2.DLL'命令,您将重置注册表值以使用您刚刚“注册”的.dll文件。您是否安装了“regsvr32”交付的msxml2.dll(s)? – 2011-02-14 14:26:08
@ Marvin Smit:我们使用Inno Setup,并且它已经注销并重新注册了。dll的好几年了。 – Dabblernl 2011-02-14 14:47:27