使用PowerShell安装多个应用程序

时间:2015-06-12 03:18:01

标签: powershell

Get-Url http://dl.google.com/chrome/install/375.126/chrome_installer.exe c:\temp\chrome_installer.exe;
c:\temp\chrome_installer.exe /silent /install;

我有以下内容。但是我也想在chrome之后安装其他应用程序。这是一个正确的方法还是我有问题,因为powershell不知道何时安装完成以及何时启动另一个安装?

我应该改用MSI路线吗?

2 个答案:

答案 0 :(得分:3)

您可以将Start-Process-Wait参数一起使用,大多数安装文件都可以使用此方法,但是如果安装程序打开其他文件并自行关闭,则此操作无效(因为PowerShell只等待安装程序关闭)

我没有Get-Url函数来测试以下代码,但它应该有效:

第一个Start-Process将启动Chrome的安装程序,而不是在运行第二个Start-Process之前等待窗口关闭。

Get-Url http://dl.google.com/chrome/install/375.126/chrome_installer.exe c:\temp\chrome_installer.exe
Start-Process -FilePath 'c:\temp\chrome_installer.exe' -ArgumentList '/silent', '/install' -Wait
Start-Process -FilePath 'C:\temp\DifferentProgram.exe' -ArgumentList '/argument' -Wait

答案 1 :(得分:1)

很抱歉,我无法评论@Bluestacks回答

您可以使用以下命令包装命令:

$appsetup = Start-Process -FilePath 'c:\temp\chrome_installer.exe' -ArgumentList '/silent', '/install' -PassThru -Wait

然后使用.exitcode测试成功完成(确保使用-PassThru)

If ($appsetup.exitcode -eq 0) write-host "Install completed without errors"

如果您需要更实质的尝试PowerShell App Deployment ToolKit on Gitub