在Delphi 中文件自己替换自己? 请都各位:因为升级文件本身的缺陷,所以我必须用当前升级文件下载一个新的升级文件替换当前的升级文件,请问在Delphi 中怎么实现程序自己替换自己?(在线等,请高手指点,谢谢。QQ52479694) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般的做法是把文件下到一个temp文件夹里,下载完成后,退出程序,启动copy文件线程,把文件copy到应用程序下,再启动应用程序。 一般的做法是把文件下到一个temp文件夹里,下载完成后,退出程序,启动copy文件线程,把文件copy到应用程序下,再启动应用程序。========================================如何再替换原文件自身呢? 如果你的升级程序可以自动运行一个下载到本地的程序就可以 1.让升级程序下载新的升级程序到临时目录,并自动运行它 2.新的升级程序找到旧升级程序的进程,并且结束它 3.拷贝自身替换旧的升级程序文件 4.执行新的升级程序,然后终止进程我通常这样设计升级程序,假设升级程序是U.exe在升级程序开始时总是包含这样的逻辑:1.检测命令行中是否包含/flag参数 如果不是则 2.如果不包含/flag,将自身拷贝为U1.exe,执行U1.exe /flag 并终止进程。 3.如果包含/flag,开始进行升级工作这样,升级程序总是可以替换掉所有文件,包含升级程序U.exe本身。如果升级过程中发现U.exe被更新了,U1.exe只要终止进程并且启动U.exe即可。 想删掉 MEMO 控件里面的所有空格字符,不知道怎么写代码 图片的读取 字符串转字符串数组的问题:"a,b,c"转为二维长度为三的数组 100分送。olecontainer如果borderstyle设成none,颜色变为灰色,能变成白色吗? 时间查询 关于字符串长度的问题 求无聊的老手指教下~ 求救:fastreport设计器预览和程序中预览显示不一致的问题 怎在Delphi web 编程中实现大文件上传?????????? 在运行本地库时DELPHI总是说,因为BDE的缘故,内存不够 如何实现delphi中开发的COM进行单步跟踪调试 如何能Edit控件识别数字,如果不是数字就出现提示
========================================
如何再替换原文件自身呢?
1.让升级程序下载新的升级程序到临时目录,并自动运行它
2.新的升级程序找到旧升级程序的进程,并且结束它
3.拷贝自身替换旧的升级程序文件
4.执行新的升级程序,然后终止进程我通常这样设计升级程序,假设升级程序是U.exe
在升级程序开始时总是包含这样的逻辑:
1.检测命令行中是否包含/flag参数 如果不是则
2.如果不包含/flag,将自身拷贝为U1.exe,执行U1.exe /flag 并终止进程。
3.如果包含/flag,开始进行升级工作
这样,升级程序总是可以替换掉所有文件,包含升级程序U.exe本身。
如果升级过程中发现U.exe被更新了,U1.exe只要终止进程并且启动U.exe即可。