最近调试一段程序,用到regsvr32 注册dll。但是老是失败。
起先并没发觉这个问题,而是在CLSIDFromProgID时,发现返回值是CO_E_CLASSSTRING(类标志符无效),于是断定是regsvr32 dll失败了。
但是看代码,感觉一切正常啊,百思不得其解,网上也搜遍了,就是找不到解决办法,于是仔细看了,注册失败的提示,即让注册时显示提示框,显示的是Loadlibrary失败,仔细一看,"C:/Program",这里就断掉了,本来是"Program Files"的,所以应该是路径错了,于是在路径上加了引号,可是还是不行。再一看,原来少了空格。
regsvr32 /s "......"
OK了。
如果以上都是正确的,但是还是不成功,怎么办?查看dll依赖项,也许依赖的动态库不存在。so。。。。
在win7中,如果以上都还是正确的,但还是不成功,怎么办?也许不是管理员权限运行的cmd。
so
已管理员权限运行cmd,OK!!!