描述:
网页中调用控件部分代码
<OBJECT classid="clsid:C69A0449-8786-11D4-B209-00104B13AFD4" CODEBASE="PLWeb.cab#version=1,0,0,2" height=605 id=PLWeb1
style="LEFT: 0px; TOP: 0px" width=995 VIEWASTEXT>
<param name="_Version" value="65536">
<param name="_ExtentX" value="26326">
<param name="_ExtentY" value="16007">
<param name="_StockProps" value="0">
</OBJECT>
cab包中的内容
plweb.ocx (1.0.0.2版)
plweb.inf
(
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
PLWeb.ocx=PLWeb.ocx
[PLWeb.ocx]
file-win32-x86=thiscab
; *** add your controls CLSID here ***
clsid={C69A0449-8786-11D4-B209-00104B13AFD4}
; Add your ocx's file version here.
FileVersion=1,0,0,2
DestDir=11
RegisterServer=yes
)
客户端在第一次浏览具有控件的网页时,可以正常下载注册,但如果更新控件版本时,客户端可以下载(在internet的临时文件夹中可以找到新的plweb.cab文件),但是不能注册新版本控件。
不知道这是什么原因引起的,如何解决?
解决方案1:
检查一下是否在修改程序时,将vc自动创建部分的代码中的id修改了
解决方案2: 如果没有注册成功,有可能是客户机环境变了.
你的控件需要运行库支持,现在客户机没有了[重做了系统等]
打包时注意一下,如果是基于atl的,就打包ATL.dll,如果是基于mfc的就打包mfc42.dll和msvcrt.dll,如果需要ole就打包olepro32.dll和oleaut32.dll等.
新控件版本也需要修改版本信息
解决方案4: <OBJECT classid="clsid:C69A0449-8786-11D4-B209-00104B13AFD4" CODEBASE="PLWeb.cab#version=1,0,0,3" height=605 id=PLWeb1
style="LEFT: 0px; TOP: 0px" width=995 VIEWASTEXT>
你可以手工在工程中更改版本号来达到升级

