ocx 用regsvr32 可以在其他机器安装,但打包成CAB却安装错误!
访问网页后,出现安装提示,点击安装后出现红叉。
不知道是什么原因

解决方案 »

  1.   

    我看了你的cab,没有数字签名,这样在IE上安装会直接被IE拦截的
      

  2.   

    我看了你的cab,没有数字签名先做个数字签名,再试试
      

  3.   

    数字签名 IObjectSafety接口的实现
      

  4.   

    我已经让调低了安全性,并增加为信任网站了,而且已经出现安装了提示,我点击了安装。
    所以不应该是IE拦截的吧,sys0000
    这是新的测试地址
    http://www.dooland.com/magazine/test/d.html
    cab我有写签名的。不过不是购买的那种正式签名
      

  5.   

    akirya 
    能不能说得清楚点,比如为什么我已经出现安装提示了,可以安装了,
    还跟安全性有关系?
      

  6.   

    akirya 
    IObjectSafety接口实现了
    但还是一样=====================
    有个很奇怪的地方
    =====================
    !!请大家关注!!========================================如果是ocx要带其他的DLL,那为什么在其他机器可以用regsvr32注册,
    regsvr32注册时不检查?而且注册后访问网页里可以正常使用,因为不需要在网页安装了。
    如果说安全性的问题,为什么我自己的电脑又可以访问网页安装插件,而其他的电脑不行。
    =========================================
      

  7.   

    一步步排除
    你可以先在你本机上这样试试:
    1)包里只打MyUpdata.ocx(因为你的系统里有GdiPlus.dll)
    2)inf文件写个最简单的如下:
    [version]
    signature="$CHICAGO$"
    AdvancedINF=2.0[Add.Code]
    MyUpdata.ocx=MyUpdata.ocx
    [MyUpdata.ocx]
    file-win32-x86=thiscab
    clsid={F9B30365-91D5-4318-9C03-097AA571EA1F}
    FileVersion=7,0,0,1
      

  8.   

    测试前先把你本机的MyUpdata.ocx 反注册掉
      

  9.   

    sys0000 
    现在是在我本机是没问题的
    但在其他机上就安装不了,但直接下载CAB包,
    解开后用REGSVR32 注册OCX却是成功的,之后也可以在网页上使用
      

  10.   


    你在本机怎么测试的?测试前首先把MyUpdata.ocx反注册,删除,然后通过网页安装的?
      

  11.   

    直接提供一个执行文件给用户下载
    在这个可执行文件里,把你的*.ocx做成资源文件,程序运行的时候释放并注册该*.ocx
    这样就可以了,我以前做网站控件的时候就这样,省时又省心,谁喜欢用谁下载,管他呢!
    注册的时候,可以使用LoadLibrary加载ocx,然后用GetProcAddress获得"DllRegisterServer"的地址,接着调用CallWindowProc进行注册
      

  12.   

    直接使用Myupdata.OCX是可以,
    现在是cab包不能安装<object id="photoupload" name="photoupload" width="800" height="800" classid="clsid:F9B30365-91D5-4318-9C03-097AA571EA1F" codebase="http://www.dooland.com/magazine/test/Myupdata.OCX#Version=9,0,0,1">就是直接使用Myupdata.OCX而不用cab包安装
      

  13.   

    如果在你本机上可以从网页正常下载安装,并且能安装到指定位置得话,应该是有问题的机器上缺少必要的DLL。