我有一个场景,如果已经安装了应用程序,那么首先卸载旧版本,然后安装新版本。
我使用VBScript在批处理文件中编写了以下代码:
if (exist)
我遇到的问题是,当执行进入if
块时,让我们假设已经安装了应用程序,然后它进入from . import bar
块并开始卸载应用程序并异步运行它并开始执行下一行(安装新版本),它会导致另一个安装正在进行的问题"。
我想要的是,一旦卸载应用程序,它应该等到它完成,然后只进入下一行执行(安装更新的版本)。
答案 0 :(得分:2)
您需要使用WSHShell.Run()
的第三个参数,将其设置为true以等待命令的完成。
if (exists) then
WshShell.Run "msiexec /qb /x {3D5D4357-217C-49BA-A8E8-00907D631F05} " ,0,true
end if
WshShell.Run "msiexec /qb /i C:\Build\" & msiFileName,0,true