关于程序自动升级的方法……(50分)

  • 主题发起人 主题发起人 wab
  • 开始时间 开始时间
W

wab

Unregistered / Unconfirmed
GUEST, unregistred user!
初步的想法是这样:
1。在程序中固定一个配置文件的下载地址;
2。升级时下载配置文件,根据版本号确定要升级的内容;
3。下载要升级的文件。
4。 升级程序。


砖头扔过去了,有玉也砸出来吧,别不舍得啊:)
 
听说有这样的控件,想法也是这样的
 
这样就可以,没有什么要增加的。不过,程序除主界面外,所有部分要做DLL或OCX
 
如crazyIdea所说,都要做成dll或ocx
 
To CrazyIdea:"不过,程序除主界面外,所有部分要做DLL或OCX" -->什么意思??

大家能否讨论,配置文件应如何定义??(分虽少,但我想对大家都有益的哦~~~~)
 
对啊,我也想知道那些软件的在线升级如何完成
 
delphi打开也会连接服务器。
程序每次打开时连接服务器,连接成功后发送当前版本号。服务器上检测如果有新版本,提示。
 
同意CrazyIdea的看法。
其实很多软件都是这样完成的.
可以把程序的一些信息放在一个文件中,如INI文件,然后再在主页上放置最新版的一些信息
程序自动对比,如果相同就不用升级,否则就下载升级。
但这个前提是最好把所有的东东做成DLL、OCX等,不要一个程序就一个文件,这样就不是很理想。
 
配置文件应该包括 http/ftp 的地址,用户名密码
版本号,等等!~
 
我的建议思路:
对于主程序级的升级
1、有俩个执行程序A.exe和M.exe(A是负责自动升级的小程序,并负责启动M;M为主程序,并负责下载更新模块)
2、每次启动A检查在制定目录中是否有新的M(当然要有版本校验等措施),有则覆盖旧版本的M,然后启动M(可以退出了)
3、在M中可以有个功能是自动(或手动)检查指定位置(FTP等)的更新内容,下载新模块(如果是A,直接覆盖之;如果是M,放在指定位置)
...

对于模块级的升级
要求把所有模块尽可能的拆分成的DLL的形式,这样升级主程序方便、安全、节省资源...

[:)]
 

谢谢各位的发言,
是这样的,当发行的版本比较多,并且又要只更新其中某一些版本的程序,
这样的话,Ini要如何定义呢??(是供下载的那个)
 
真笨!
大家已经说的比较清楚了,难道要大家给你写出代码来???
 
To q1:
兄弟,别发火 :)
当发行的版本比较多,并且又要只更新其中某一些版本的程序,
这样的话,Ini要如何定义呢??(是供下载的那个)
那您能否给提一个比较建设性的方案呢??

本人是比较笨,因为我觉得我的一些设计比较笨拙,所以才想上来请教大家啊!!??

我比较喜欢 花园风味 的发言,让我感觉他(她)有真实地考虑过我的问题。

我觉得论坛不应当是单纯的问与答,我比较喜欢与大家讨论 [:)]
 
我们公司开发的系统就有这个功能.所有模块都采用插件,只有一个主框架,就可以实现自动升级
 
做一个升级服务器。
配置可以放在一个ini文件中。
每次升级更新一下这个文件。
还有下载覆盖的时候可以检查一下两个文件的版本号
 
后退
顶部