在运行MSI的无提示卸载时,您如何知道何时完成?

如果你有一个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 

修改以适应您的需求。