找了一个mfc写的控件,修改了下里面的一个方法,编写inf打成cab包后,ocx控件安装后无法自动注册,手工使用regsvr32后,才能正常使用。使用相同的方法打包未修改的ocx,安装后会自动注册,求问。

解决方案 »

  1.   

    ocx是你自己写的?同一个ocx修改后不会自动注册?
      

  2.   


    对,是同一个ocx
      

  3.   


    手工注册的话,就是在ocx存放的目录,使用管理员运行,regsvr32 xxxx.ocx,具体怎么调用呢?
      

  4.   

    在64位Windows下:
    64位exe和dll在目录c:\windows\system32目录下;
    32位exe和dll在目录c:\windows\syswow64目录下;
    所以要注意:
        在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。
        且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
      

  5.   

    自动注册也需要设置浏览器的   你可以写个安装包  安装的时候去注册 降低ie级别  允许active 如果有特定浏览网址的话加信任站点
      

  6.   

    1.你的ocx的版本号,inf里面版本号,和object的版本号要一致,并且高于你本地的文件才会注册
    2.你的inf文件是不是写的有问题