В настоящее время нет способа сделать то, что вы просите.
Каждый пакет Chocolatey уникален в том смысле, что он может быть оболочкой MSI или EXE-файла, простым извлечением сжатого архива в известное место, например, C: \ tools, или модулем PowerShell, который извлекает в PSModulePath, или это может быть что-то совершенно нестандартное.
Это побочный эффект экосистемы Windows, где есть несколько способов сделать одно и то же. Шоколад пытается навести порядок в этом, предлагая механизм, по крайней мере, найти все пакеты, которые вы хотите в одном месте, но Шоколад может сделать только так много.
Если вы посмотрите на вещи совершенно по-другому, можно передать аргументы установки в пакет Chocolatey, используя следующее:
https://github.com/chocolatey/chocolatey/wiki/CommandsInstall#installarguments-optional---v09813
Теоретически это может изменить аргументы установки пакета Chocolatey на основе MSI или EXE, чтобы изменить место установки файлов. Вы можете увидеть пример использования этого подхода здесь:
http://chocolatey.org/packages/VisualStudio2013Ultimate
Однако этот подход ограничен. Не каждый, как Мэтт, тратит время на упоминание возможных возможных аргументов установки, и извлечение аргументов установки, которые можно отправить в MSI или EXE-файл, является довольно запутанным процессом.
С точки зрения ChocolateyGUI, и как текущий разработчик этого продукта, я могу сказать вам, что он не делает ничего умного в этой области :-). Это просто оболочка для инструментов командной строки, которые предоставляет Chocolatey, и призвана облегчить ее людям, которым не нравится использование командной строки.
--shimgen-noop
Если Chocolatey создает оболочку для пакета, например,
yourprogram.exe
вы можете указать путь к исполняемому файлу с помощью следующей строки Powershell:Это работает, только если shim является .exe файлом. Это очень распространено, хотя некоторые пакеты генерируют файлы .ps1, .cmd или даже .bat. В этих редких случаях этот рецепт не будет работать.
источник
К сожалению, не то, что я знаю. Я считаю, что каталог установки определяется самим пакетом. Он не определен в файле .nuspec, и я нигде не вижу, чтобы он был явно определен в исходном коде Chocolatey.
Исходный код: https://github.com/chocolatey/chocolatey
источник
Если это был MSI, то обычно вы можете передать
-ia
:источник