Установка MSI в очередь - через Powershell
Я пытаюсь установить 32-разрядную и 64-разрядную версии Visual Studio 2005 как часть сценария Powershell на наших экземплярах Win2008. Когда я пытаюсь вызвать установку обоих 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 ответ
Вы должны использовать параметр Start-Process -Wait.
-Wait Ожидание завершения указанного процесса, прежде чем принимать дополнительные входные данные. Этот параметр подавляет командную строку или сохраняет окно до завершения процесса.