【问题标题】:Retrieving MSIEXEC exit code in PowerShell在 PowerShell 中检索 MSIEXEC 退出代码
【发布时间】:2012-10-28 13:10:11
【问题描述】:

我需要从 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 

我得到 1619(如果我从 CMD 运行命令行,则与 %ERRORLEVEL% 相同)。

$LASTEXITCODE 怎么不对?

【问题讨论】:

    标签: powershell windows-installer


    【解决方案1】:

    试试这个:

    (Start-Process -FilePath msiexec.exe -ArgumentList $parms -Wait -Passthru).ExitCode
    

    【讨论】:

      猜你喜欢
      • 2018-03-21
      • 2011-04-20
      • 1970-01-01
      • 2012-03-09
      • 1970-01-01
      • 2019-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多