大家知道,部署传统C/S模式客户端程序非常麻烦 ,尤其在打补丁或升级时,需要
耗费大量的时间精力。
否则,开发人员需要编写自动升级代码,这又总加软件成本上支出
对于.net应用,microsoft 提供了clickonce 技术,很好的解决了这一问题。
用户通过web打开客户端程序,如果客户端未安装 ,系统会自动下载并安装,如果
Web server 上有更高版本程序,则自动升级客户端程序。
对旧系统,比如采用vc6.0,vc6.0, ClickOnce没有提供很好的解决方案。
在MageUi.exe中,用户无法指定vc/vb 6.0程序为EntryPoint(程序入口),
所以生成的manifest/application 是无效的。
但可通过折衷方法解决,我们可以创建一个c#.net程序 ,作为EntryPoint,在这个
引导程序中调用实际主程序。
此外,clickonce 无法创建指定客户端路径,启动NT service.
但这些可以在c#引导程序加以实现。
当然clickonce 还有其他缺陷,比如manifest的文件不能过多(10000 +),否则
用户首次运行时,下载需要超常时间,让你难以忍受。
对于这一问题,我们可以把程序依赖库中无须改变的文件通过zip打包,然后
在客户端解包加以解决。
对于没有自动下载/升级的 C/S系统,你不妨试试这一技术。
耗费大量的时间精力。
否则,开发人员需要编写自动升级代码,这又总加软件成本上支出
对于.net应用,microsoft 提供了clickonce 技术,很好的解决了这一问题。
用户通过web打开客户端程序,如果客户端未安装
Web server 上有更高版本程序,则自动升级客户端程序。
对旧系统,比如采用vc6.0,vc6.0, ClickOnce没有提供很好的解决方案。
在MageUi.exe中,用户无法指定vc/vb 6.0程序为EntryPoint(程序入口),
所以生成的manifest/application 是无效的。
但可通过折衷方法解决,我们可以创建一个c#.net程序
引导程序中调用实际主程序。
此外,clickonce 无法创建指定客户端路径,启动NT service.
但这些可以在c#引导程序加以实现。
当然clickonce 还有其他缺陷,比如manifest的文件不能过多(10000
用户首次运行时,下载需要超常时间,让你难以忍受。
对于这一问题,我们可以把程序依赖库中无须改变的文件通过zip打包,然后
在客户端解包加以解决。
对于没有自动下载/升级的 C/S系统,你不妨试试这一技术。