如果你有一个msi,你想从命令行中卸载, MsiExec.exe /qn /X{26A24AE4-039D-4CA4-87B4-2F83217045F0} /norestart
立即返回。 但msiexec.exe正在运行一段时间,也许几分钟。 所以,如果我正在脚本周围这想要然后做一个安装 – 我怎么知道是否完成? 我不能只看MSIEXC.EXE,因为它也是一个服务过程,所以永远不会消失…
使用/等待的“开始”命令等待进程退出。
start "" /wait msiexec /x ...
如果以下任何属性包含引号,“”是解决方法。 http://ss64.com/nt/start.html
这里logging了msiexec错误代码。 当你得到一个错误代码,如零意味着成功,msiexec认为自己完成。
为了捕获错误代码,人们可以将执行包装在PowerShell中,例如在这里完成(无耻的代码复制/粘贴):
(Start-Process -FilePath "msiexec.exe" -ArgumentList "<<whatever>>" -Wait -Passthru).ExitCode
修改以适应您的需求。