找回密码
 加入
搜索
查看: 2737|回复: 11

关于自动下载升级的问题,请教大家

  [复制链接]
发表于 2009-11-30 10:54:49 | 显示全部楼层 |阅读模式
大家好,我正在做一个自动升级的软件.现在遇到一个困难,麻烦大家指教,谢谢:
程序检查到新版本后,需要自动下载更新该程序并且能再次启动.版本检测及下载目前都可以实现,但如何能去更新这个正在运行的程序并且能再次启动它,不知如何来实现?
谢谢大家的指点.
发表于 2009-11-30 11:10:14 | 显示全部楼层
下载完了给个提示,是否重启使用新版,确定后自动重启
 楼主| 发表于 2009-11-30 11:55:09 | 显示全部楼层
如何用下载的新版本来更新目前正在运行的这个程序呢?谢谢
发表于 2009-11-30 11:57:22 | 显示全部楼层
你下载后的文件是如何命名的
 楼主| 发表于 2009-11-30 12:06:24 | 显示全部楼层
和正在运行的程序是同一名称.下载到TEMP目录中.
发表于 2009-11-30 12:14:41 | 显示全部楼层
$Msg = MsgBox(48 + 4, "", "新版本已成功下载,是否重启并启用新版?  ")
If $Msg = 6 Then
        FileMove(@ScriptFullPath, @ScriptFullPath & '.bak')
        FileMove(@TempDir & '\' & @ScriptName, @ScriptFullPath)
        Exit (ShellExecute(@ScriptFullPath))
EndIf
发表于 2009-11-30 12:25:53 | 显示全部楼层
原来exit参数里面还能带这类语句啊,学习了!help里面根本就没提嘛
发表于 2009-11-30 12:33:12 | 显示全部楼层
无法覆盖正被系统使用的文件。如想更新,方法有二:
1.结束正在运行的程序,覆盖结束后,重新启动这个程序
2.做一个自动更新程序,放到runone里,下次启动系统时立即更新
发表于 2009-11-30 13:03:39 | 显示全部楼层
LZ的软件并未牵涉到系统及锁定,一般的程序都可以在运行时被更名(但不能删除)~ 所以6#代码足矣~
发表于 2010-5-18 06:00:39 | 显示全部楼层
学习了,6#代码很好。
发表于 2010-5-18 13:50:26 | 显示全部楼层
回复 1# ttbb
能否将你的代码也公开一下呢?
发表于 2010-5-18 18:16:19 | 显示全部楼层
6楼方法一定要试试,我目前采用的是:另下载到TEMP目录,然后运行他,进行替换回去。。。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-22 07:13 , Processed in 0.089795 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表