2011-05-13 190 views
0

我实现了自动更新我的应用程序。在下载安装程序结束时,我不得不使用bat文件自动更新

  1. 关闭我的应用程序
  2. 新版本执行安装程序。

我尝试这样做,使用下面的蝙蝠脚本:

sleep 5 
"C:/DOCUME~1/.../.../Temp\my_app_installer.exe" 

在我的主要程序代码写到:

ShellExecute(0, L"open", batScriptPath.utf16(), 0, 0, SW_HIDE); 
closeApp(); 

但它不工作。在关闭应用程序之前,不会调用睡眠函数并执行安装程序。这不好。你能否说我如何解决这个错误或更新应用程序的其他方法。

谢谢。

+0

“睡眠5”在我的Windows机器上不被识别为有效的命令。从命令提示符处“睡眠5”是否适合您? – 2011-05-13 09:25:39

+0

这个命令可以在我的机器上运行(win xp,32位)。 – mish1231 2011-05-13 09:50:15

+0

只是为了调试,尝试“记事本”,而不是“睡眠5”,看看它是否启动记事本。如果是这样,那么问题可能是您的sleep.exe没有被命令解释器找到。 (注意,睡眠不是标准的Windows XP命令,我在Windows XP机器上试过并确认了这一点。) – 2011-05-13 10:47:39

回答

2

您可以将您的任务写入安装程序本身,而不是在批处理文件中完成。安装程序可能会检查是否有旧应用程序实例打开,并且在打开时他只会试图关闭它。成功之后 - 他将开始真正的安装。