软件自动更新问题, 求思路或方案 (100不够,再加)
经常使用symantec、瑞星 之类的杀毒软件,对LiveUpdate.exe已是见识N次了,但始终搞不明白其内在的实现机制,但也一直想着某个时候得弄清楚它。
现在好了,时间有了,积分也够给了,呵呵,还望各位朋友出智出力。分数是身外之物,100不够,就200,要不300,400,500都行,我的目的就一个,彻底搞清楚软件自动更新的原理和大致实现过程。
问题点数:100、回复次数:14Top
1 楼sdsuper(泊舟)回复于 2005-02-25 16:19:31 得分 10
方式
1.开机替换(autoexe.bat,或者在注册表中runonce里面)
2.动态替换
........Top
2 楼chlchen(一声叹息)回复于 2005-02-25 16:26:30 得分 10
我个人认为,就是这个软件启动的时候,去一个网站上面检测,看下自己的版本号,如果自己的版本号“小于”网站上面的版本号,就提示用户是否下载新的软件!如果下载,那么就更新用户下面的某个文件。更新可以是动态的,也可以是下次系统启动的时候更新。不知道我的设想对不!希望高手和大师们给个答案,谢谢了Top
3 楼ggxiang(翔子)回复于 2005-02-25 16:29:57 得分 10
把需要更新的东西做成DLL,并在dll里记录版本号,更新的时候,更新dll文件就行了,ftp哈,不知道这样想对不对Top
4 楼orbit(走了走了)回复于 2005-02-25 16:43:15 得分 10
这是个liveupdate的例子:
http://www.winmsg.com/download/liveupdate.zipTop
5 楼paddy102(▄︻┻┳═一)回复于 2005-02-26 15:59:46 得分 0
回复人: orbit(吹泡泡的小猫) ( ) 信誉:105 2005-02-25 16:43:00 得分: 0
这是个liveupdate的例子:
http://www.winmsg.com/download/liveupdate.zip
这个例子我大概看了一下,程序中好象并没有实现“更新”的概念,只是在本机的两个目录之间下载之前没有的文件,再没别的了。不知道这个程序是不是这么回事?Top
6 楼paddy102(▄︻┻┳═一)回复于 2005-02-26 16:02:05 得分 0
也在CSDN上搜索过以前的帖子,发现关于自动更新的问题都是不了了之。希望借这个机会让我还有其他朋友都能清楚明白关于自动更新的道理。 大家踊跃吧!Top
7 楼Practise_Think(时代“过客”)回复于 2005-02-27 10:53:09 得分 10
升级程序与应用程序最好分开,更新的思路是用升级程序到网络上下载一个新版的程序,下载完毕后就KILL了正在运行的应用程序进程,将新下载回来的新版程序文件覆盖原来的旧程序文件,再运行新程序就可以了,这些动作均在升级程序上运行.Top
8 楼alec626(月吻长河Blog:spaces.msn.com/filebase)回复于 2005-02-27 14:08:08 得分 10
DELPHI有个免费的自动在线升级组件,很好用。Top
9 楼alec626(月吻长河Blog:spaces.msn.com/filebase)回复于 2005-02-27 14:10:48 得分 10
将软件的版本信息写在一个ini文件里,和生机文件一起放在服务器上。
在VC下GetWebFile函数从服务器ini文件,在程序中分析文件比较是否有新版本,如果有就下到本地进行升级。Top
10 楼dzq138(钟添)回复于 2005-02-27 14:58:32 得分 20
我见过别人利用IE的功能下载CAB包(包内的DLL或OCX有改变),在登录画面时会自动下载的.
就是不知如何在程序(不是打开IE)中实现利用IE的更新组件功能!
更新后-在IE的"工具"->"internet选项"->"常规"->"internet临时文件"->"设置"->"查看对象"->里面可以看到CAB包.
我也想知道.找了好久,我单位的应用软件,就是这新实现更新的,对方公司也没告诉我们,每次要更新,只需在IIS上面的更新一个CAB文件就可以了.实在是方便.
如果那位兄弟知道,说说吧..十分感谢...Top
11 楼paddy102(▄︻┻┳═一)回复于 2005-03-04 17:03:26 得分 0
不热闹Top
12 楼paddy102(▄︻┻┳═一)回复于 2005-03-04 17:04:06 得分 0
有没有比较好的对比更新算法?Top
13 楼9731boy(叉叉TV - 班头爷)回复于 2005-03-04 17:11:22 得分 10
更新没有算法的.版本高就提示下载
如果有独立的update程序 ,就那下载 并安装就是了
如果是只有一个程序.嘿嘿.我以前的做法是........ 需要更新的模块,用 com来实现
下载来后就安装.下次启动完就删除旧的com组件.不难Top
14 楼paddy102(▄︻┻┳═一)回复于 2005-03-17 21:24:18 得分 0
已经找到解决方法了, 结贴散分Top




