#chocolatey
Вопрос:
Я пытаюсь создать автономный шоколадный пакет, содержащий файл .bat (т. Е. мой «исполняемый файл»), который я хочу вставить в путь. Мой chocolateyinstall.ps1
файл состоит из следующего:
$ErrorActionPreference = 'Stop'; # stop on all errors
$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
Install-BinFile -Name 'test.bat' -Path $toolsDir
Это создает файл test.bat.exe
при установке пакета. Но когда я запускаю файл .exe, я получаю сообщение об ошибке:
Cannot find file at '..libtest-pkgtools' (C:ProgramDatachocolateylibtest-pkgtools). This usually indicates a missing or moved file.
Упомянутый каталог ( C:ProgramDatachocolateylibtest-pkgtools
) определенно существует и содержит test.bat
файл, поэтому упаковка и установка файла .bat сработали. Как таковая, похоже, проблема с прокладкой?
В качестве эксперимента я попытался .ps1
таким же образом запустить скрипт Powershell и получил то же сообщение об ошибке.
Что я здесь упускаю? Спасибо!
Ответ №1:
Проблема -Path
в том , что параметр должен содержать полный путь к файлу bat, а не только к файлу $toolsDir
, поэтому что-то подобное будет работать:
Install-BinFile -Name 'test.bat' -Path "$toolsDirtest.bat"
Неожиданный вывод заключается в том, что для запуска без ошибок не обязательно, чтобы цель оболочки существовала Install-BinFile
.