使用bat文件自动更新
问题描述:
我实现了自动更新我的应用程序。在下载安装程序结束时,我不得不使用bat文件自动更新
- 关闭我的应用程序
- 新版本执行安装程序。
我尝试这样做,使用下面的蝙蝠脚本:
sleep 5
"C:/DOCUME~1/.../.../Temp\my_app_installer.exe"
在我的主要程序代码写到:
ShellExecute(0, L"open", batScriptPath.utf16(), 0, 0, SW_HIDE);
closeApp();
但它不工作。在关闭应用程序之前,不会调用睡眠函数并执行安装程序。这不好。你能否说我如何解决这个错误或更新应用程序的其他方法。
谢谢。
答
您可以将您的任务写入安装程序本身,而不是在批处理文件中完成。安装程序可能会检查是否有旧应用程序实例打开,并且在打开时他只会试图关闭它。成功之后 - 他将开始真正的安装。
“睡眠5”在我的Windows机器上不被识别为有效的命令。从命令提示符处“睡眠5”是否适合您? – 2011-05-13 09:25:39
这个命令可以在我的机器上运行(win xp,32位)。 – mish1231 2011-05-13 09:50:15
只是为了调试,尝试“记事本”,而不是“睡眠5”,看看它是否启动记事本。如果是这样,那么问题可能是您的sleep.exe没有被命令解释器找到。 (注意,睡眠不是标准的Windows XP命令,我在Windows XP机器上试过并确认了这一点。) – 2011-05-13 10:47:39