2013-10-16 73 views
5

我有我通过PowerShell中使用以下命令安装Windows软件包列表:有没有办法使PowerShell等待安装完成?

& mypatch.exe /passive /norestart

mypatch.exe被从列表过去了,并没有等待安装之前完成 - 它只是继续前进。它构建了一个正在等待安装的巨大安装窗口。另外,我无法使用$LASTEXITCODE来确定安装是成功还是失败。

反正是有使安装在开始下一个之前等待?

回答

7
Start-Process <path to exe> -Wait 
+1

完美,谢谢! –

1

当然,编写运行安装程序的一个行批处理脚本。批处理脚本将在返回之前等待安装程序完成。从PowerShell调用脚本,这将等待批处理脚本完成。

如果您有权限编写​​,那么可以在完成后创建一些随机文件,以便PowerShell可以在while循环中检查其存在情况,并在文件不存在时进行睡眠。

如果不这样做,你也可以让安装程序完成时批处理脚本创建一个虚拟文件。

的另一种方式,虽然可能是最糟糕的是这些的是,一旦您调用安装程序只是硬编码睡眠计时器(开始休眠)。

编辑刚才看到JensG的答案。不知道那个。尼斯