现象是,在自己机器上肯定可以显示,但是在别的机器调用有该控件的页面不显示控件,请高手帮助

解决方案 »

  1.   

    控件打包时没有加动态运行库.
    atl需要atl.dll
    MFC需要mfc70.dll和msvcrt70.dll[如果静态编译就不需要了.]
      

  2.   

    ActiveX发布步骤创建PVK文件[私人密匙文件]makecert -sk DigitalTitan DigitalTitan.pvk
    makecert -n CN=TelStar TelStar创建CER文件[公司证书]makecert -sk DigitalTitan.pvk TelStar.cer创建SPC测试软件出版商证明书cert2spc root.cer TelStar.cer TelStar.spc创建INF文件[version]
    signature="$CHINA$"
    AdvancedINF=2.0[Add.Code]
    WebOffice.ocx=WebOffice.ocx
    mfc70.dll=mfc70.dll
    msvcrt.dll=msvcrt.dll
    olepro32.dll=olepro32.dll[mfc70.dll]
    file-win32-x86=thiscab
    FileVersion=7,0,9466,0
    DestDir=11
    RegisterServer=yes[msvcrt.dll]
    file-win32-x86=thiscab
    FileVersion=6,1,9844,0
    DestDir=11
    RegisterServer=yes[olepro32.dll]
    file-win32-x86=thiscab
    FileVersion=5,0,4522,0
    DestDir=11
    RegisterServer=yes[WebOffice.ocx]
    file-win32-x86=thiscab
    clsid={05430EC0-69CA-437A-B1F9-4B78B8647BEA} 
    FileVersion=1,0,0,1
    RegisterServer=yes
    ;创建CAB文件
    cabarc -s 6144 n WebOffice.cab msvcrt.dll msvcp70.dll msvcr70.dll mfc70.dll olepro32.dll ASYCFILT.DLL STDOLE2.TLB WebOffice.ocx WebOffice.inf使用Code Signing Wizard签署一个CAB文件
    SIGNCODE.exe
    时间戳服务:verisign的时间服务器,这个是免费的.
    http://timestamp.verisign.com/scripts/timstamp.dll另:
    makeCert -sk DigitalTitanKey -n "CN=TelStar" -ss TelStar TelStar.cer
    makecert -is TelStar -ic TelStar.cer -ss TelStarCompany.cerCert2SPC MyCert.cer MyCert.spc
      

  3.   

    打包工具包:
    申请证书:Win2000:控制面板-管理工具-证书颁发机构[没有则更新组件]Http://127.0.0.1/CertSrv/
    签名工具包:http://download.microsoft.com/download/b/e/f/bef2551b-401d-4311-ab8f-13d3892b8154/codesigningx86.exe
    时间戳服务:verisign的时间服务器,这个是免费的.
    http://timestamp.verisign.com/scripts/timstamp.dll
      

  4.   

    警告消除可以参考:http://www.vckbase.com/document/viewdoc.asp?id=728
      

  5.   

    再请问,我用Depends工具查了所有使用的库,并没有你写的mfc70.dll(我用的VC6),还有,我写的inf文件完全照你所说的写的,当然dll换成了depends工具描述的
    [version]
    signature="$CHINA$"
    AdvancedINF=2.0
    是版本为1.0.0.2吗?
      

  6.   

    推荐用静态编译就不用麻烦了.VC6应为mfc42.dll和msvcrt.dll
    版本跟你的编译设置有关,自己查看一下.
      

  7.   

    静态编译可以直接引用ocx是吗?
      

  8.   

    1、请问大侠,我的控件太大了,怎么可以变的小巧一点?
    2、从网页上下控件,会下到哪里?控件太大了,我想直接copy到下载的位置,可以吗?
      

  9.   

    1.如果你发布后怎么办,肯定不能Copy.[除非局域网你跑的动.]
    2.你用CAB打包后还是很大吗?
    3.IE-工具-Internet选项-常规-设置-查看对象:C:\WINNT\Downloaded Program Files有些功能可以交给服务器活动脚本[Eg:Asp和Jsp]
      

  10.   

    用静态的方法1.9m不到不知道算不算大?
    现在还是下载这里没有搞定,我是放在weblogic服务器端,决定明天测试一下用IIS,目前不知道是WEBLOGIC的原因还是页面写的不对。
    <OBJECT id=DPwdEdit1 style="WIDTH: 100px; HEIGHT: 24px" 
    classid=clsid:5467862B-C477-437F-886E-EC5006B37DCA" codebase="PwdEdit.ocx"><PARAM NAME="_Version" VALUE="65536"><PARAM NAME="_ExtentX" VALUE="2646"><PARAM NAME="_ExtentY" VALUE="635"><PARAM NAME="_StockProps" VALUE="0"></OBJECT>
    个人认为没有什么大问题:(
      

  11.   

    用Cab打包后效果很明显估计会有400K左右.
    跟什么Web Server没有关系.ASP和JSP没有什么两样.
    <object id=DWebOffice style="left: 0px; width: 100%; top: 0px; height: 450px;" classid="clsid:05430EC0-69CA-437A-B1F9-4B78B8647BEA" viewastext codebase="http://10.70.38.10:9001/ActiveX/WebOffice.cab#version=1,0,0,3">
      

  12.   

    请问数字金刚,我在程序哪里怎么获得版本号,多谢
    我目前用静态编译已经可以发布,还是不能发布cab包,这个问题我再查一下
    还有一个问题,版本号是我修改程序之后自动处理的吗?还是需要我人工修改?
    另:采用release方法,控件大小约300k