如何利用cab包实现控件的自动升级
2012-12-12 10:55
288 查看
1.页面检测:
页面打开后,如果页面中有
则获取本地控件的版本号,与version比较大小;如果version版本比较大,则执行升级任务。
2.升级过程:
cab包中有一个inf文件,比如:
浏览器首先下载获取cab包中的inf文件,根据[add.code]节点定义的文件,执行升级替换
在升级前,首先检测文件的fileversion号,如果大于本地文件的版本号,则执行下载并替换,否则跳过,不下载也不替换。
3.注意事项
cab包内多个文件时,默认第一个文件为主文件,主文件的版本号就是cab包的版本号。
如果本地文件没有添加版本号资源,比如logger.dll里面没有版本号资源,则默认为0,每次都会被替换升级
页面打开后,如果页面中有
"<OBJECT ID='zft_plugin' width='0' height='0' CLASSID='CLSID:C65F38B6-21A9-4C88-8FB6-852C2D680F11' codebase='ICardPay.cab#version=1,0,0,1'></OBJECT>
则获取本地控件的版本号,与version比较大小;如果version版本比较大,则执行升级任务。
2.升级过程:
cab包中有一个inf文件,比如:
[version] signature="$CHICAGO$" AdvancedINF=2.0 ;Provider==%Provider% [Add.Code] myclient.dll=myclient.dll Logger.dll=Logger.dll [myclient.dll] file-win32-x86=thiscab clsid={C65F38B6-21A9-4C88-8FB6-852C2D680F11} RegisterServer=yes FileVersion=1,0,0,30 DestDir=11 [Logger.dll] file-win32-x86=thiscab DestDir=11 FileVersion=1,0,0,1
浏览器首先下载获取cab包中的inf文件,根据[add.code]节点定义的文件,执行升级替换
在升级前,首先检测文件的fileversion号,如果大于本地文件的版本号,则执行下载并替换,否则跳过,不下载也不替换。
3.注意事项
cab包内多个文件时,默认第一个文件为主文件,主文件的版本号就是cab包的版本号。
如果本地文件没有添加版本号资源,比如logger.dll里面没有版本号资源,则默认为0,每次都会被替换升级
相关文章推荐
- C#里WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变
- 如何实现控件随对话框大小变化而自动调整大小和位置
- 在.Net的WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变
- 利用WebBrowser控件实现百度自动搜索
- 如何实现ScrolledComposite下 控件个数随着窗口大小自动变化
- c#,VC++ 在WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变
- 如何利用UDP组播实现海康网络摄像机(IPC)的自动探测【源码】【监控】【录播】【NVR】【ONVIF】
- 【AWS+DaoCloud的应用分享】BootDev如何利用docker在AWS实现超快速自动伸缩
- 如何利用百度ocr实现验证码自动识别
- 将控件打包成CAB加数字签名方法实现控件自动更新
- 如何实现自动升级?
- 浅谈如何利用PB实现仿QQ自动显示/隐藏窗口(原创)
- 利用WebBrowser控件实现百度自动搜索
- 利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法
- WinFrom+C# 如何实现发布并自动升级
- 利用DevExpress的LayoutControl控件实现界面的自动生成
- C# 如何实现软件自动在线升级
- 如何利用Guava实现方法调用超时自动中断
- 如何利用asp.net控件实现这个功能?
- [VB.NET]求如何用VB.NET语言+ACCECC数据库实现一个对会员等级自动升级功能!