我正在尝试运行powershell脚本来使用msiexec.exe安装应用程序。
msiexec.exe / a“C:\ Users \ tempuser \ Desktop \ AppInstall.msi”/被动等待
所以我希望在继续执行其他命令之前完成安装,以防止搞乱整个自动化过程。
运行我的脚本后,会弹出一个显示所有msiexec选项的Windows安装程序菜单。我想我在行尾不正确地使用了wait参数。已经花了很多谷歌搜索任何解决方案...我很感激任何帮助。
答案 0 :(得分:1)
您可以使用
$myJob = Start-Job {[your msiexec call]}
Wait-Job $myJob
或
$params = @{
"FilePath" = "$Env:SystemRoot\system32\msiexec.exe"
"ArgumentList" = @(
"/x"
"$($productCodeGUID)"
"/qn"
"REMOVE=ALL"
"/norestart"
)
"Verb" = "runas"
"PassThru" = $true
}
$uninstaller = start-process @params
$uninstaller.WaitForExit()
调整params
以符合您的需求。我喜欢第二种方法,因为它使参数更容易在冗长的代码中阅读。
作为流程或工作运行可能对您没有任何影响,但如果他们这样做,那么只需选择最适合您需求的那个。