【发布时间】:2017-08-17 08:02:01
【问题描述】:
我已经寻找了 3 天的好解决方案,但到目前为止我还没有找到任何解决方案。我的情况是:
客户端已安装应用程序(C++、控制台应用程序)。启动时的应用程序将与服务器检查它的版本号并返回,或者它是最新的,或者它应该下载新版本。
如果要下载新版本,我想下载新的脚本,名称为:Application2.exe
但是,我希望它替换触发新版本下载的旧 Application.exe。
我的解决方案是:Application.exe 下载 Application2.exe。下载后,它应该会触发 Updater.exe,它会休眠 5 秒。在这 5 秒内(或任何最适合的时间跨度)。在这 5 秒内,Application.exe 有时间关闭,5 秒后 Updater.exe 将 Application.exe 替换为 Application2 .exe.
现在更新已完成,客户端已安装最新版本。
对于系统锁定文件等,这种解决方案是否可行?
【问题讨论】:
-
我会反其道而行之。有一个小程序检查更新,应用任何更新,然后运行(更新的)应用程序。如果您需要更新那个“小程序”,唯一的问题就来了,但这不应该经常需要(它的目的是专门和简单的,所以更有机会在没有导致需要更新的错误的情况下第一次正确地完成它)。
-
您还可以生成另一个进程来完成这项工作并关闭您当前的程序,让您可以对程序执行任何您喜欢的操作,因为它不再运行了!
-
@Peter,感谢您的提醒,这确实是一个不错的解决方案,我会考虑的
-
@OMGtechy,这就是我上面所说的方法吗? ..
标签: c++ version-control download version