排队MSI安装 - 通过Powershell

时间:2014-01-25 04:11:14

标签: powershell windows-installer silent

我正在尝试在我们的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
    }

1 个答案:

答案 0 :(得分:1)

您必须使用Start-Process -Wait参数。

  

-Wait在接受更多输入之前等待指定的进程完成。此参数禁止该命令   提示或保留窗口,直到过程完成。