Шоколадный ParamPackage пуст, хотя значение передается в режиме отладки - PullRequest
2 голосов
/ 13 января 2020

Я пытаюсь использовать Chocolatey для установки пакета MSI через Powershell. После всей документации и примеров моя установка выглядит следующим образом:

chocolateyinstall.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 выдает мой ошибка:

ОШИБКА: запущенная команда остановлена, поскольку переменная предпочтения "ErrorActionPreference" или общий параметр имеет значение Стоп: укажите имя по умолчанию

Однако, если я запускаю команда с ключом -d Powershell показывает мне: packageParameters: '/ defaultName:',

Что я здесь не так делаю? Я пробовал каждую вариацию цитат вокруг параметров, аргумента установки вместо пакета параметров. Я не знаю, что еще я могу сделать.

1 Ответ

1 голос
/ 14 января 2020

Я сталкивался с этим раньше при локальном тестировании пакетов, где на мои дополнительные значения параметров не ссылаются, как вы видите. Я не знаю , почему это происходит, но не указывайте жесткий путь к nupkg. Вместо этого установите параметр source в каталог, в котором находится пакет (относительный путь подходит), а затем установите пакет по его идентификатору пакета, как если бы вы устанавливали из Chocolatey.org . Например, если пакет находится в вашем текущем каталоге:

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

Я не уверен, на какой версии Chocolatey вы используете, но если я попытаюсь установить пакет, указав на nupkg на диске , Я получаю предупреждение о предпочтении параметра -s и идентификатора пакета вместо ссылки на файл пакета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...