不知道怎样才能先把旧版卸载在装入新程序,请大家提供一些好方法吧!
7 个解决方案
#1
先通过网络把新版本下载,然后将旧版本删除,新版本替换就可以了.
自动升级必须是另一个进程.
自动升级必须是另一个进程.
#2
我是这样做的
1.下载新的版本
2.建一个批处理文件(yyy.new 为新的文件,yyy.exe为老文件)
:try
del yyy.exe
if exist yyy.exe goto try
move yyy.new yyy.exe
del %0
exit
3.用CreateProcess执行上面的批处理
4.用Application->Terminate;关闭当前程序
如果你要程序重启,在批处理的exit前加
yyy.exe
1.下载新的版本
2.建一个批处理文件(yyy.new 为新的文件,yyy.exe为老文件)
:try
del yyy.exe
if exist yyy.exe goto try
move yyy.new yyy.exe
del %0
exit
3.用CreateProcess执行上面的批处理
4.用Application->Terminate;关闭当前程序
如果你要程序重启,在批处理的exit前加
yyy.exe
#3
setup 文件要在控制面板“添加删除程序”里写内容的,所以不能直接删除。
#4
一个应用程序(AP),另一个负责升级的程序(SP)。
AP程序运行时,发现有升级版本,则启动SP程序(CreateProcess),
SP程序做如下处理:
1、关闭AP程序
2、下载数据,并替换旧程序
3、启动新程序
4、退出结束SP
AP程序运行时,发现有升级版本,则启动SP程序(CreateProcess),
SP程序做如下处理:
1、关闭AP程序
2、下载数据,并替换旧程序
3、启动新程序
4、退出结束SP
#5
我的做法:
1、使用引导程序来起动真实工作程序,也就是说,使用的是两个程序,由一个预处理程序来起动主程序。
2、预处理程序访问网络,如发现有新版本,进行下载,下载完后再起动主程序。
3、建议使用http来下载,这样可靠度和兼容度都比较高。
也可以使用这样的做法:
使用两个程序,起动时起动主程序,如果主程序发现网络上有新版的程序,提示,如用户确认升级,则起动专用升级程序,主程序退出。专用升级程序进行下载。
使用http很容易做到这点,不过,http下载是没有限制的。
所以,建议使用ftp,呵呵,不过,ftp我没有试过,因为我做的是局网的东东,负核不大。
1、使用引导程序来起动真实工作程序,也就是说,使用的是两个程序,由一个预处理程序来起动主程序。
2、预处理程序访问网络,如发现有新版本,进行下载,下载完后再起动主程序。
3、建议使用http来下载,这样可靠度和兼容度都比较高。
也可以使用这样的做法:
使用两个程序,起动时起动主程序,如果主程序发现网络上有新版的程序,提示,如用户确认升级,则起动专用升级程序,主程序退出。专用升级程序进行下载。
使用http很容易做到这点,不过,http下载是没有限制的。
所以,建议使用ftp,呵呵,不过,ftp我没有试过,因为我做的是局网的东东,负核不大。
#6
我刚刚开始学,大家的建议都很有价值,只是不太理解,能不能请高手们留下详细代码,以供参考,十分感谢!
#7
这种东西应该在公司里都有代码的吧,几年下来这种代码应该很规范了啊,问一下同事什么的,有没有这方面的代码。实在没有就去网上找吧,google,baidu,实在不行就。。。
#1
先通过网络把新版本下载,然后将旧版本删除,新版本替换就可以了.
自动升级必须是另一个进程.
自动升级必须是另一个进程.
#2
我是这样做的
1.下载新的版本
2.建一个批处理文件(yyy.new 为新的文件,yyy.exe为老文件)
:try
del yyy.exe
if exist yyy.exe goto try
move yyy.new yyy.exe
del %0
exit
3.用CreateProcess执行上面的批处理
4.用Application->Terminate;关闭当前程序
如果你要程序重启,在批处理的exit前加
yyy.exe
1.下载新的版本
2.建一个批处理文件(yyy.new 为新的文件,yyy.exe为老文件)
:try
del yyy.exe
if exist yyy.exe goto try
move yyy.new yyy.exe
del %0
exit
3.用CreateProcess执行上面的批处理
4.用Application->Terminate;关闭当前程序
如果你要程序重启,在批处理的exit前加
yyy.exe
#3
setup 文件要在控制面板“添加删除程序”里写内容的,所以不能直接删除。
#4
一个应用程序(AP),另一个负责升级的程序(SP)。
AP程序运行时,发现有升级版本,则启动SP程序(CreateProcess),
SP程序做如下处理:
1、关闭AP程序
2、下载数据,并替换旧程序
3、启动新程序
4、退出结束SP
AP程序运行时,发现有升级版本,则启动SP程序(CreateProcess),
SP程序做如下处理:
1、关闭AP程序
2、下载数据,并替换旧程序
3、启动新程序
4、退出结束SP
#5
我的做法:
1、使用引导程序来起动真实工作程序,也就是说,使用的是两个程序,由一个预处理程序来起动主程序。
2、预处理程序访问网络,如发现有新版本,进行下载,下载完后再起动主程序。
3、建议使用http来下载,这样可靠度和兼容度都比较高。
也可以使用这样的做法:
使用两个程序,起动时起动主程序,如果主程序发现网络上有新版的程序,提示,如用户确认升级,则起动专用升级程序,主程序退出。专用升级程序进行下载。
使用http很容易做到这点,不过,http下载是没有限制的。
所以,建议使用ftp,呵呵,不过,ftp我没有试过,因为我做的是局网的东东,负核不大。
1、使用引导程序来起动真实工作程序,也就是说,使用的是两个程序,由一个预处理程序来起动主程序。
2、预处理程序访问网络,如发现有新版本,进行下载,下载完后再起动主程序。
3、建议使用http来下载,这样可靠度和兼容度都比较高。
也可以使用这样的做法:
使用两个程序,起动时起动主程序,如果主程序发现网络上有新版的程序,提示,如用户确认升级,则起动专用升级程序,主程序退出。专用升级程序进行下载。
使用http很容易做到这点,不过,http下载是没有限制的。
所以,建议使用ftp,呵呵,不过,ftp我没有试过,因为我做的是局网的东东,负核不大。
#6
我刚刚开始学,大家的建议都很有价值,只是不太理解,能不能请高手们留下详细代码,以供参考,十分感谢!
#7
这种东西应该在公司里都有代码的吧,几年下来这种代码应该很规范了啊,问一下同事什么的,有没有这方面的代码。实在没有就去网上找吧,google,baidu,实在不行就。。。