ignore-package-exit-codes在使用Chef的Chocolatey v0.9.10.2中不起作用

时间:2016-06-23 01:42:24

标签: chef chocolatey

我正在尝试使用Chef中的chocolatey_package安装Windows Azure Powershell。即使在成功安装之后,新的0.9.10.2版本的Chocolatey也会返回非0的应用程序退出代码。

      0 - most widely used success exit code
      1605 - (MSI uninstall) - the product is not found, could have already been uninstalled
      1614 (MSI uninstall) - the product is uninstalled
      1641 (MSI) - restart initiated
      3010 (MSI, InnoSetup can be passed to provide this) - restart required

在这种情况下,代码为3010,因为安装成功,但需要重新启动。 Chef显示以下消息: Expected process to exit with [0], but received '3010'。 对于Chef 0来说,唯一的成功退出代码。我试图向Chocolatey发送选项以忽略应用程序退出代码并将0发送给Chef,但这些格式似乎都不起作用:

    chocolatey_package 'windowsazurepowershell' do
      options "--ignore-package-exit-codes=true"
    end

我也试过

      options "--ignore-package-exit-codes=3010"
      options "--use-package-exit-codes=false"

根据文档,以下选项应该有效:

ignorepackagecodes ignorepackageexitcodes ignore-package-codes ignore-package-exit-codes usepackagecodes usepackageexitcodes use-package-codes use-package-exit-codes

修改

感谢您的帮助,我测试了新的0.9.10.3版本的Chocolatey,并且与

配合使用
chocolatey_package 'windowsazurepowershell' do
  options "--ignore-package-exit-codes"
end

2 个答案:

答案 0 :(得分:1)

这是由于0.9.10中的错误导致的,该错误在0.9.10.3中得到修复。有关详细信息,请参阅https://github.com/chocolatey/choco/issues/827

答案 1 :(得分:0)

https://github.com/chef/chef/issues/5030正在跟踪此问题。除了票证显示之外,目前还没有一个很好的解决方案。