检索COM类工厂组件的CLSID 80040154(不容易啊!!) 80040154.

ASPDONET页面报错:Retrieving the COM class factory for component with CLSID {DD855F0D-48AF-4E28-B450-35671DE039EF} failed due to the following error: 80040154.

意思是“检索COM类工厂组件的CLSID {} 80040154”。

我从网上查了很多解决方案,都没成功,关键是我不知道{DD855F0D-48AF-4E28-B450-35671DE039EF}是什么组件。 后来与组件开发商联络得知解决方法,如下:

这个问题的原因是因为主系统A中接入了其他的功能B, 这个功能B的开发商提供了一个接口, 现在要利用这个接口去写COM组件,以享受功能B提供的服务. 那么这样一来就要注册这个已经写好的COM组件(xxx.dll), 第一把写好的这个xxx.dll放在C盘的windows目录下, 第二运行命令: regsvr32 xxx.dll, 那么就会提示注册成功的字样. 注意这个组件有没有配置IP地址和数据库帐号密码的地方, 因为这是开发商提供的接口, 所以可能会有IP之类的重配置. 目前已经解决问题!

但是, 在确保数据库连接成功 组件注册成功的前提下, 马上又出现了新的问题:"Specified array was not of the expected type." 个人觉得是COM组件本身有问题, 我想把这个异常继续做成帖子发布出来.

就在发帖的当日下午,又解决了:"Specified array was not of the expected type." 问题. 我的判断还算正确 哈哈~~ 其实就是那个COM组件的开发环境与本地服务器的开发环境不同. 更换一下版本就OK啦. 这得需要开发商提供,也就是那帮子写组件的人.....

原文地址:https://www.cnblogs.com/hsapphire/p/1699255.html