我需要以一种快速而肮脏的方式来升级我的应用程序。
目前我每个版本都有一个 exe。
如果 exe 错误,我会闪现一条消息“在 db 上找到版本 X,您正在使用 exe 版本 Y,请下载正确的版本”。
我有一个固定地址的每个 exe,比如:(
http://myip.com/exes/N/Project.exe
其中 N 是发布)
所以我的想法是代替上面的消息,我会提示用户“将下载正确的 exe,按确定继续”。
我的想法是确定之后:
1)使用ShellExecute
另一个负责下载和替换的exe(我们称之为id Update.exe)运行(这个exe可以存储在exe资源中)
2) 关闭应用程序
2) Update.exe 将从 Internet 下载正确的 exe 并将其保存到临时文件夹
4) Update.exe 将删除 Project.exe 并用下载的替换它
5) Update.exe 将运行新的 Project.exe
因此将运行正确的 exe,并且用户将在与旧 exe 相同的位置拥有新的 exe。这将是一个非 hortodox 升级(不使用 Windows 更新,但相信我,我需要这个。我不使用 Windows 更新)。
你能评论一下这种方法吗?或者建议一个类似的技巧?