我现在的做法是程序运行时,先看数据库中表a的字段是否等于写死在程序中的某个字符,如"V1.0版",每次我改了程序时,会先修改这个字符,如改为"V12.0版",再在数据库中把表a中字段的内容也改成一样的。用户在客户端运行程序时,如果是旧版本,就不能运行,就要自己去公共盘考下最新的系统把旧的覆盖才可以用。我看到许多系统都可以在客户端自动更新,而不用自己拷贝新程序,请问是如何做到的?可否提供一段代码?谢谢!
解决方案 »
- 用tstringlist ,遇到空指针问题
- cxgrid导出到excel时,怎样才能不包括footer
- 项目开发,我力不从心。希望给网友一些启示
- 请教各位一个光标定位小问题.
- 我用Tmediaplayer想在Tpanel控件中播放影片,但却只能显示影片中的一部分图像,要显示影片中全部图像,怎么做??
- 怎样使光标在DBGridEH里垂直移动?
- VC写的DLL的一个函数返回类型是char**,在Delphi下如何使用?
- 有没有好一点做delphi控件的书?
- 有谁知道什么地方有可以解压VCD或者DVD格式的好控件下载?
- FMX的StringGrid控件的Style有人编辑过吗?就是表头那一行,每一列的标题文本如何居中对齐,该行如何设置背景颜色?
- BCB类型转DELPHI问题
- 请教下各位前辈 学习delphi要注意什么 要看哪些资料
晕,你判断一下版本不一样后就copyfile('\\server\share\a.exe','.\',false);
服务器做一个共享文件夹,把文件放在上面!
主程序可以做成DLL,或干脆改成其他扩展名.也可以不改,看情况.
每次首先运行更新程序,检查是否有更新,有的话就"拿"过来(COPY/SOCKET传输等等,根据传输通道的形式),更新结束或者没更新的话才去运行主程序.
@echo off
@echo ********************************************************
@echo * *
@echo * KCKDBMS *
@echo * Copyright (C) KITZ CORPORATION All Rights Reserved *
@echo * 2007.cxy *
@echo ********************************************************
@echo 正在更新,请稍候... ping 172.15.4.20 -n 10 >nullCOPY /y \\Kckpdc\公共\cxy\KCKDBMS_Beta\KCKDBMS.exe
Start KCKDBMS.exe 每次主程序启动前检查数据库里的版本表里的版本号是否和主程序版本一致,
如果不一致就运行批处理文件且退出主程序。
auSoft.InfoFileURL:=ReadInfoFileURL(lDomainName);
auSoft.CheckUpdate;