小弟出现个问题,调了3-4天都没调好,所以上来请教高手 我注册了一个windows服务,本想在服务onstart的时候去enable一个timer 在timer的callback中去new 一个AutoCADConnector,然后给cad注册一堆委托 但是在new AutoCADConnector的时候总是报这个错" 检索 COM 类工厂中 CLSID 为 {1365A45F-0C8F-4806-A26A-6B22AD37EC66} 的组件时失败,原因是出现以下错误: 80070005。" 首先无怀疑是Interop.AutoCAD.dll不好用了,但是我在别的工程中手动去new一个AutoCADConnector的时候会成功. 所以觉得是windows服务的一些特殊性造成的 抱着这个想法上网找了找, 在csdn中有个人说 onstart是scm管理的一个线程 没有初始化com所需要的环境,建议在起一个线程作为服务的主线程用于new 一个com 看到这个我很高兴的去试了试,不过无论我在onstart的时候去新建一个线程还是在main的时候去新建一个线程,都会个以前报同样的错 在这期间 我去改过windows组件服务dcom配置中的AutoCAD Application属性,把标识改为交互式用户,也把安全中的每个权限都添加了eceryone 和local service ,adminstrator,network用户 重启机器后扔会报错, 至此我有点崩溃,还请高人指点一下,谢谢了 |