局域网内的应用程序,业务应用都已经写成DLL,但有时需要更新一下DLL版本。
因为程序的客户端很多,一台一台的去更新肯定很费时费力.设想用一个固定的EXE运行文件下载DLL,再运行业务DLL,SHOW窗体.完成自动更新程序功能.
也就是说,程序只需安装一个空壳EXE,只是负责更新版本与打开第一个窗口.程序是由多个DLL与一个启动程序组成.
做一个启动客户端.负责更新CAB包中的DLL.上面的是功能设想要求,
要问的是要解决问题:
一、除了用IE下载DLL之外是否有更好的办法?
二、用IE下载CAB包更新存的如下几个问题需解决:
1)如何自动降低IE的安全级别?当然要先保存原来的安全级别设置,下载完成后,恢复原安全安全级别设置。(见别人写了一下DLL可以达到此目的,但自己想写一下,不知是不是写注册表内容实现的。http://www.hdfdc.gov.cn/download/IESM.dll,里面有一类为IESMLib.Holder 方法有三个为:OpenDoor()降低安全级别 Restore() 恢复安全级别设置 Save())
2)版本比较?如原DLL的版本为1.0.0.1现在的新版本为1.0.0.2是新的才执行更新,否则执行原版本的DLL。()
3)当然要建立一个IIS的HTML文件内容如下:
-----------------------------
<OBJECT ID="clsUserProfile"
CLASSID="CLSID:7286826D-B9A9-4A37-BC6D-1E7EEC76BB92"
CODEBASE="UPDATE.CAB#version=1,0,0,1">
</OBJECT>
-----------------------------
如何调用IE去下载此HTML页?用Microsoft Internet Controls部件?写得较乱,望给点耐性看完。
欢迎各位兄台解答一下以上问题。或给点更好的自动更新版本主意,
先在此先多谢各位.