开发了一个com模块,拿到一个干净的虚拟机上使用regsvr32注册,提示“xxxx加载失败.......找不到指定的模块。",见下图
找不到指定的路径?莫非是我给的注册文件路径不对?可是我把我的钛合金狗眼都看瞎了,发现文件路径没错啊,妈的,自己写个注册程序,发现在Load这个com dll时提示无法启动此程序,计算机丢失ATL100.dll。至此,原因清楚了。原来是我的Com Dll没有静态链接ATL及CRT导致了这个问题,但是你提示找不到指定的模块让我和费解啊。
另外也可以使用Process Monitor定位这个问题,可以过滤CreateFile操作,查看哪些文件打开失败,也可以给你提示究竟哪出了问题。
PS. 本人的Blog篇幅较小,无非是想每月多混几篇,可以点亮“恒”字。