Chocolatey ParamPackage 是空的,即使值是在调试模式下传递的

Chocolatey ParamPackage is empty, even though the value is passed in debug mode

我正在尝试使用 Chocolatey 通过 Powershell 安装 MSI 软件包。按照所有文档和示例,我的设置如下所示:

巧克力安装。ps1

$ErrorActionPreference = 'Stop';
$fileLocation = Join-Path $toolsDir 'installer.msi'

$pp = Get-PackageParameters

Write-Output ("Keys count is : ${pp}")

if (!$pp['defaultName']) { Write-Error "Please provide a default name"; exit -1; }

...

当我运行这个命令时: choco install .\st-installer.1.6.7.nupkg --force --params "'/defaultName:Bob'" powershell 抛出我的错误:

错误:运行ning 命令停止,因为首选项变量 "ErrorActionPreference" 或公共参数设置为停止:请提供默认名称

但是,如果我 运行 使用 -d 开关的命令,Powershell 会显示:packageParameters: '/defaultName:',

我在这里做错了什么?我已经尝试了围绕参数、安装参数而不是参数包的所有引号变体。我不知道我还能做什么。

之前在本地测试包时,我已经 运行 了解了这一点,但我的附加参数值并未像您看到的那样被引用。我不知道 为什么 会发生这种情况,但不要引用 nupkg 的硬路径。相反,将 source 参数设置为包所在的目录(相对路径即可),然后通过包 ID 安装包,就像从 Chocolatey.org 安装一样。例如,如果包在您的当前目录中:

cinst -y st-installer --params "'/defaultName:Bob'" -s .

我不确定您使用的是哪个版本的 Chocolatey,但是如果我尝试通过指向磁盘上的 nupkg 来安装软件包,我会收到一条关于首选 -s 参数的警告和包 ID 而不是引用包文件。