我正在尝试在我们的Win2008实例上安装32位和64位版本的Visual Studio 2005作为Powershell脚本的一部分。当我尝试不间断地调用两个EXE文件的安装时,第二个EXE(x86)没有执行,因为x64没有完成安装。
所以,我在每次调用后添加了5秒的睡眠时间,这似乎现在有效。但是,我对这个解决方案不是很满意,因为它看起来更像是一种解决方法而不是处理手头任务的正确方法。
有没有更好的方法来执行此操作 - 可能将文件排入队列以进行安装 - 因此它们会一个接一个地执行?
以下是具体的代码行:
if ($OSArchitecture -eq "64-bit")
{ Write-Output "Found 64-bit OS. Installing both VC++ files for compat"
start-process .\vcredist_x64.exe /Q
start-sleep 5
start-process .\vcredist_x86.exe /Q
start-sleep 5
}
答案 0 :(得分:1)
您必须使用Start-Process -Wait参数。
-Wait在接受更多输入之前等待指定的进程完成。此参数禁止该命令 提示或保留窗口,直到过程完成。