我需要从PowerShell中运行一个MSIEXEC
命令行,并检查安装是否成功。
如果我执行以下操作:
msiexec.exe /qn /l*v e:/tmp/surfaceruntime.log /i '\\nas\lui\tools\surfaceruntime2.msi'
(指定的 MSI 不存在-这是为了测试目的)
我得到一个$LASTEXITCODE
值为1
另一方面,如果我执行以下操作:
$parms=@("/qn", "/l*v", "e:/tmp/surfaceruntime.log";"/i";"\\nas\lui\tools\surfaceruntime2.msi")
$run=[System.Diagnostics.Process]::Start("msiexec",$parms)
$run.WaitForExit()
$run.ExitCode
如果我从CMD中运行命令行,我将获得1619(与%ERRORLEVEL%
相同)。
$LASTEXITCODE
为什么不正确?