1.delphi 自动更新cs客户端的系统问题
delphi 自动更新cs客户端的问题
楼上所说的是比较常用的方法,也是源码可行的。通常,系统一些应用程序会在目录下加个Update目录,源码视频监控系统后台源码里面就放从服务端下载来的系统更新数据文件,以供下次运行程序时升级用(没有即时升级这个功能,源码也很难实现,系统除非你不需要更新主程序文件)。源码至于如何完成这个更新过程,系统楼上的源码已经说的比较清楚了,我就不再重复。系统交友论坛源码
另外有种方法: 动态脚本,源码即使程序运行在解释状态。系统像java一样,源码是系统解释型程序而不是编译型程序,解释的苍穹变源码好处是可以用脚本来实现程序的功能,是可以实现在程序运行过程中动态升级的,像web程序一样,只需要刷新一下界面就行了,你要做的,就是源码智能窗在客户端检测一下服务端的版本号,如果小于服务端版本号,则下载最新的脚本到本地即时执行。现在支持object pascal脚本的控件比较多,你在网上搜一下就好了,在CPU这么强大的机锋网源码今天,程序运行的速度也不会比完全编译慢多少。当然,这样做的缺点是,你如何保证你的脚本(业务逻辑)的安全性!如果不嫌麻烦,你大可以给你的脚本加密传输,执行的时候解一下密就好了。
第三种方法:
有些游戏程序的做法,把主程序的后缀改成其它类型,比如你的主程序为Main.EXE ,你可以改成Main.CPU或者Main.DDD(扩展名自己随便取),然后做个Update.EXE文件,这个程序主要用来检测更新的,也是整个应用的入口程序。有更新了,下载完成并替换所有数据后,直接shellExecu这个Main.CPU或main.ddd(你自己定义的主程序,一般加载程序不需要扩展名,加载过程是靠文件的头信息来判断是否是可执行文件),加载后便退出Update(Main.EXE)文件,把控制权交给真正的可执行主体来执行。这样做的好处是对外隐藏了真正的程序主体,而且可以灵活地执行更新