Назад | Перейти на главную страницу

Командная строка 7zip - не удается найти код, работающий с архивами

Мы находимся в процессе перемещения сервера как на новый хост, так и с сервера 2k8 на сервер 2012. На рассматриваемом сервере есть несколько дисков, на которых хранятся наши сайты и некоторые утилиты. Эти диски были продублированы именно во время переезда. Данные, структуры папок и разрешения должны быть идентичными.

Недавно при запуске задачи Jenkins на этом сервере я обнаружил в журнале следующее:

G: \ Websites \ PathToWebsite> G: \ Jenkins \ Tools \ 7z a -tzip Website_PROD_Backup_20140311_.zip

7-Zip [64] 9.20 Copyright (c) 1999-2010 Игорь Павлов 18-11-2010

Ошибка: 7-Zip не может найти код, который работает с архивами.

7-Zip установлен на сервере, и я могу выполнять действия, которые он пытается делать, через графический интерфейс. Я разработчик и не привык решать подобные проблемы, а Google по конкретной ошибке не привел меня ни к какому решению.

Самое близкое совпадение, которое я смог найти, - это сайт, на котором говорится, что инструменту командной строки требуется несколько файлов .dll, если их размер меньше 150 КБ. Я нашел инструмент по указанному выше пути, и он был более 150 КБ. Я все равно скопировал файлы .dll из установочного каталога в этот каталог. Это не устранило проблему.

Что мне делать, чтобы это исправить? Мне действительно нужен 7-Zip для работы из командной строки, иначе значительную часть процесса сборки / развертывания придется выполнять вручную.

Убедитесь, что у вас установлена ​​версия командной строки 7-zip; он отделен от графического интерфейса. Вы можете скачать это здесь:

http://www.7-zip.org/download.html

Другая причина этой ошибки заключается в том, что у вас есть 7z.exe, но нет 7z.dll - оба они необходимы для правильной работы программы командной строки. Для переносимой версии программы командной строки на нашем CI достаточно скопировать только эти два файла из обычной установочной папки с графическим интерфейсом 7-zip.

в пакетном файле укажите путь к исполняемому файлу, иначе пакетная программа не будет знать, где находится исполняемый файл. если exe находится в c: \ Prog ~ 1 files \ bin \ 7zip.exe

установите путь как c: \ Prog ~ 1 files \ bin \

У меня было такое же сообщение об ошибке, как описано выше. Решил проблему, удалив 7z.exe из каталога Windows \ System32 (который был помещен туда путем установки 7-zip от имени администратора?).

У меня была аналогичная проблема с запуском '. \ 7z.exe' из сценария PowerShell, проблема заключалась в том, что копия. \ 'Local folder' 7z.exe была более старой версией, чем та, которая в настоящее время установлена ​​на моем компьютере. Чтобы решить эту проблему, я просто скопировал новые файлы 7z.exe и 7z.dll в локальную папку, которую использовал скрипт.