如何使用安装参数格式化Puppet for Chocolatey包

时间:2016-02-24 21:38:44

标签: visual-studio puppet chocolatey

我正在尝试在Puppet中复制以下Chocolatey命令行安装:

choco install visualstudio2013ultimate -InstallArguments "/Features:'WebTools SQL OfficeDeveloperTools LightSwitch'"

我在安装参数中使用引号时引用documentation并尝试过:

  package { 'visualstudio2013ultimate':
    ensure          => '12.0.21005.20141031', 
    install_options => ['-installArgs','"','/Features:', '""','WebTools SQL OfficeDeveloperTools LightSwitch','"""','"'],
  }

但是这没有达到预期的效果(它安装了Visual Studio,然后将WebTools,SQL等作为安装的附加Chocolatey软件包处理,而不是功能开关的参数)。

巧克力日志摘录:

2016-02-24 12:15:46,704 [DEBUG] - Command line: "C:\ProgramData\chocolatey\choco.exe" upgrade visualstudio2013ultimate -version 12.0.21005.20141031 -dvy -installArgs " /Features: "" "\"WebTools SQL OfficeDeveloperTools LightSwitch\"" """ "
2016-02-24 12:15:46,719 [DEBUG] - Received arguments: upgrade visualstudio2013ultimate -version 12.0.21005.20141031 -dvy -installArgs  

/Features: " "WebTools SQL OfficeDeveloperTools LightSwitch" " 
Version='12.0.21005.20141031'|AllVersions='False'|
SkipPackageInstallProvider='False'|
PackageNames='visualstudio2013ultimate;SQL;OfficeDeveloperTools;LightSwitch" ";'|

有人可以建议如何正确格式化install_options吗?

1 个答案:

答案 0 :(得分:1)

提供商的documentation安装选项非常明确:每个空间必须用分隔覆盖。 Puppet会自动在带有空格的部分周围加上引号,搞乱参数。当Puppet重构参数时,每个空格上的拆分语句都会保留空格,并使Puppet不会混淆传递给Chocolatey的结果值。

我还注意到您的文档链接指向Github问题,而不是结果文档。我意识到问题是关于添加文档的问题,但在问题说明中它并不完全正确。因此,最好参考最新的结果文档。见https://forge.puppetlabs.com/chocolatey/chocolatey#install-options-with-spaces