Как я могу изменить каталог Temp, который использует Chocolatey при установке самого себя или пакетов?

Я пытаюсь установить Chocolately на наших серверах на работе, но у меня есть проблема из-за определенных правил McAfee, которые не позволяют нам разархивировать или запускать исполняемый файл из каталога Temp (из проверки кода Chocolately переменная $env:TEMP используется в несколько мест). Я пытался сам обновить переменную $env:TEMP, но есть политики, которые немедленно возвращают ее обратно. Я даже пытался обновить переменную $env:TEMP и установить Chocolatey в том же сеансе powershell, но, похоже, он снова установил ее.

У кого-нибудь есть другие предложения/идеи? Буду признателен за любую оказанную помощь. Спасибо


person JSM85    schedule 27.02.2014    source источник
comment
Вам, вероятно, придется изменить чрезмерно усердные правила McAfee, чтобы это работало, или изменить код, чтобы он правильно работал в вашей среде. Бьюсь об заклад, автор модуля мог бы добавить поддержку другой папки temp, но если ее сейчас нет, вам придется пойти другим путем.   -  person Trevor Sullivan    schedule 28.02.2014


Ответы (1)


В Chocolatey это контролируется CacheLocation - choco config get cachelocation (если он пуст, он использует $env:TEMP, в противном случае он использует значение, на которое он установлен). Это было добавлено в 0.9.9. Конкретная фиксация для добавления cacheLocation была dc47d644.

Для установки самого Chocolatey вы можете настроить это, просто установив $env:TEMP='c:\some\location перед запуском сценария установки.

Оригинальный принятый ответ:

Вау, это интересно. Я предполагаю, что мы должны быть в состоянии сделать его настраиваемым. Это довольно безумно, что что-то ограничивает использование папки TEMP таким образом, но я определенно понимаю, почему кто-то захочет это сделать.

Я думаю, что я бы просто зашел в сценарии для шоколадного и изменил все, чтобы не использовать временную папку. Есть, наверное, 2 или 3 места, где это есть. Вам нужно будет выполнить внеплановую установку для шоколадного, поскольку он пытается сделать то же самое. Используйте nuget для установки шоколада, а затем откройте сеанс powershell и запустите этот установщик. Проверьте в вики конкретные инструкции по этому https://github.com/chocolatey/chocolatey/wiki/Installation#wiki-nugetexe.--powershell-method

person ferventcoder    schedule 28.02.2014
comment
Привет, @ferventcoder, спасибо, что ответили мне. Я тоже попробовал это и адаптировал сценарий установки, чтобы просто установить шоколадный, но затем обнаружил, что при попытке установить определенные пакеты (например, эластичный cinst) требуется изменение временного каталога в других сценариях (например, Install-ChocolateyZipPackage). Единственное, что меня беспокоит в связи с изменением этих значений, заключается в том, что это неустойчивая модель, и мне придется обновлять свою версию шоколадных скриптов всякий раз, когда будет доступно обновление. Но я думаю, что это, возможно, должно быть решением на данный момент. Chocolatey - отличный продукт, кстати, лучшая работа! - person JSM85; 01.03.2014
comment
@ JSM85 Да, это вообще не предполагалось настраивать. Я не верил, что обходной путь не будет без проблем. :/ - person ferventcoder; 02.03.2014