当前的DLL组件注册了以后,总是在下次注册时反注册不干净,导致下个版本的DLL功能无法读取,确定当时已经做过反注册又重新注册的,不知道为什么会出现这样的问题,求助各位大狭可有好的方法,有没有可以直接用批处理直接删除注册表的方法?或是因为我的DLL有问题?谢过了啊~~在线等

解决方案 »

  1.   

    在组件设计期间,可以使用“工程兼容”选项保持DLL的CLSID和IID。
    如果反注册时注册表项目清理不完全,可以手动实现。使用OLE View查看组件的CLSID和IID,然后在注册表中删除即可。
      

  2.   

    reg.batrem 先注销当前的DLL
    regsvr32.exe ActiveX.dll -u
    rem 在删除dll 文件,路径写好
    del c:\windows\system32\ActiveX.dll 
    rem 拷贝DLL
    copy ActiveX.dll  c:\windows\system32\
    rem 重新注册
    regsvr32.exe c:\windows\system32\tiveX.dll
      

  3.   

    首先,路径不统一,因为是客户端自己装自己的路径,有没有办法象我们正常搜索注册表的方式把名字为:test的都清掉再重新注册呢?按楼下朋友的做法,路径不统一要怎么办呢?
      

  4.   

    新Dll的TypeLib并不一定完全包含旧Dll的TypeLib,所以必须用旧Dll注销才能完全清除。