跟踪巧克力错误

时间:2014-09-15 07:24:30

标签: powershell chocolatey

我正在安装一个巧克力包,它会抛出一个错误:

Write-Error : [ERROR] Running C:\Users\username\AppData\Local\Temp\chocolatey\javaruntime\javaruntimeInstall.exe with /s REBOOT=Suppress  was not successful. Exit code was '1603'.
At C:\ProgramData\chocolatey\chocolateyinstall\helpers\functions\Start-ChocolateyProcessAsAdmin.ps1:46 char:5
+     Write-Error $errorMessage
+     ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Write-Error

Write-Error : javaruntime did not finish successfully. Boo to the chocolatey gods!
-----------------------

错误显示在控制台中,但我找不到跟踪它的方法。 cinst javaruntime -force之后的退出代码为0,包将移至C:\ProgramData\chocolatey\lib-bad。 我已经尝试用try-catch捕获错误,但cinst只是跳过它并在try-catch块之后被执行。

有没有办法跟踪此类错误?

更新澄清:我的问题是,即使出现错误并且程序包被移动到lib-bad,但巧克力也会以代码0退出。

感谢您的帮助:D

1 个答案:

答案 0 :(得分:2)

你的意思是你想让错误代码冒出来作为Chocolatey的退出代码吗? POSH版本并不总是正确地从正在运行的软件包安装中捕获错误代码。

这已在新的C#版本中修复(截至2014年9月15日尚未完成)。

更新:Choco 0.9.9.x将以0/1退出。 Choco 0.9.10.x将以与包相同的退出代码退出。如果它是基础架构管理解决方案,这允许重新启动方案冒泡到调用进程。