Вопросы и ответы (FAQ)

Содержание
  1. Вопросы пользователей
  2. Могу ли я использовать 7-Zip в коммерческих организациях?
  3. Как я могу установить ассоциации файлов на 7-Zip в Windows 7 и Windows Vista?
  4. Почему архивы 7z, созданы новой версии 7-Zip, могут быть больше, чем архивы, созданные старой версией?
  5. Почему версия командной строки не добавляет файлы без расширений в архив?
  6. Почему 7-Zip не открывает некоторые архивы ZIP?
  7. Почему 7-Zip не может открыть некоторые архивы RAR?
  8. Почему для получения файлов из архива путем перетаскивания из интерфейса 7-Zip в Проводник Windows используются временные файлы?
  9. Почему 7-Zip не поддерживает большие словари в Windows 32-bit?
  10. Почему -r switch не работает так, как нужно?
  11. Как мне сохранить полный путь файла в архиве?
  12. Как установить 7-Zip в тихом режиме?
  13. Как я могу восстановить поврежденный 7z архив?
  14. Вопросы разработчиков
  15. Почему при компиляции в Visual C++ 6.0 архиватора 7-Zip или LZMA SDK возникает ошибка?
  16. Могу ли я использовать файлы EXE или DLL архиватора 7-Zip в коммерческих приложениях?
  17. Как мне добавить поддержку архивов 7z к моему ПО?
  18. Могу ли я использовать исходный код 7-Zip в коммерческих программах?

Вопросы пользователей

Могу ли я использовать 7-Zip в коммерческих организациях?

Да, 7-Zip это бесплатная программа. Вы можете использовать ее на любом компьютере. Вы не должны регистрировать или платить за 7-Zip.

Как я могу установить ассоциации файлов на 7-Zip в Windows 7 и Windows Vista?

Нужно запустить 7-Zip File Manager в режиме администратора. Щелкните правой кнопкой мыши иконку 7-Zip File Manager и выберите «Запуск от имени администратора». Там вы можете изменить ассоциации файлов и некоторые другие параметры.

Почему архивы 7z, созданы новой версии 7-Zip, могут быть больше, чем архивы, созданные старой версией?

Новые версии 7-Zip (начиная с версии 15.06) используют другой порядок сортировки файлов по умолчанию для непрерывных 7z архивов.

Старая версия 7-Zip (до версии 15.06) использовала сортировку файлов «по типу» (расширению).

Новая версия 7-Zip поддерживает два типа сортировки:

  • Сортировка по названию (по умолчанию);
  • Сортировка по типу, если в поле Параметры в окне «Добавить в архив» указано ‘qs’ (или -mqs переключатель для версии командной строки).

Вы можете получить большую разницу в коэффициенте сжатия для различных методов сортировки, если размер словаря меньше общего размера файлов. Если в разных папках подобные файлы, сортировка «по типу» может обеспечить лучший коэффициент сжатия в некоторых случаях.

Заметьте, что сортировка «по типу» имеет некоторые недостатки. К примеру, тома NTFS используют порядок сортировки «по названию», поэтому если в архиве используется другая сортировка, то скорость некоторых операций для файлов с необычным порядком может падать на устройстве HDD (жесткие диски имеют низкую скорость для операций «искать»).

Можно увеличить коэффициент сжатия с помощью таких методов:

  • Увеличить размер словаря. Это может помочь, когда ‘qs’ не используется.
  • Укажите 'qs’ в поле Параметры (или используйте переключатель -mqs для версии командной строки).

Если вы считаете, что необычный порядок файлов для вас не проблема, и если коэффициент сжатия с небольшим словарем для вас важнее, воспользуйтесь режимом ‘qs’.

Почему версия командной строки не добавляет файлы без расширений в архив?

Возможно вы используете шаблон *.*. 7-Zip не использует парсер маскировки операционной системы, и поэтому принимает шаблон *.* как файл, имеющий расширение. Для обработки всех файлов вы должны использовать шаблон * или отменить шаблоны вообще.

Почему 7-Zip не открывает некоторые архивы ZIP?

В 99% случаев это означает, что архив содержит неправильные заголовки. Некоторые другие программы для работы с архивами ZIP умеют открывать архивы с неправильными заголовками, если они игнорируют эти ошибки.

Если вы столкнулись с такими архивами, пожалуйста не пытайтесь сообщить об этом разработчикам 7-Zip. Вместо этого попробуйте найти программу, которая использовалась для создания этого архива и проинформируйте ее разработчиков о том, что их программное обеспечение не совместимо с форматом zip.

Существует также несколько типов архивов ZIP, закодированные неподдерживаемыми 7-Zip методами. Среди них: PPMd (WinZip), WAVPack (WinZip), pkAES (PkZip).

Почему 7-Zip не может открыть некоторые архивы RAR?

7-Zip 9.20 поддерживает только форматы RAR 2/3/4 и не поддерживает архивы RAR5. Но последние версии 7-Zip поддерживают архивы RAR5.

Почему для получения файлов из архива путем перетаскивания из интерфейса 7-Zip в Проводник Windows используются временные файлы?

7-Zip не знает путь к папке, которая является целью перетягивания. Только Проводник Windows знает его, и он нуждается для переноса в эту папку разархивированные файлы. Поэтому 7-Zip извлекает файлы из архива в папку temp, а потом 7-Zip сообщает Проводнику Windows о пути к этим временным файлам. Затем Проводник Windows копирует эти файлы, чтобы переместить в целевую папку.

Чтобы избежать использования временных файлов, вы можете воспользоваться командой «Извлечь файлы…» 7-Zip или осуществить перетаскивание с 7-Zip в 7-Zip.

Почему 7-Zip не поддерживает большие словари в Windows 32-bit?

Windows 32-bit выделяет только 2 GB виртуальной памяти для одной программы. Кроме того блок размером 2 GB может быть фрагментирован (к примеру, с помощью некоторых файлов DLL), поэтому 7-Zip не может выделить один большой непрерывный блок виртуального пространства. Таких ограничений нет в Windows 64-bit. Поэтому вы можете использовать любой словарь в Windows x64, если это позволяет его физический RAM.

Почему -r switch не работает так, как нужно?

В большинстве случаев вам не нужен -r switch. 7-Zip может сжимать вложенные папки даже без -r switch.

Пример 1:

  7z.exe a c:\a.7z "С:\Program Files"

сжимает «С:\Program Files» полностью, включая вложенные папки.

Пример 2:

  7z.exe a -r c:\a.7z "С:\Program Files"

ищет и сжимает «Program Files» во всех папках C:\ (к примеру, в «С:\WINDOWS»).

Если вы хотите сжать только файлы с определенным расширением, вы можете использовать переключатель -r:

  7z a -r c:\a.zip c:\dir*.txt

сожмет все файлы *.txt из папки c:\dir и ее вложенных папок.

Как мне сохранить полный путь файла в архиве?

7-Zip сохраняет только относительные пути к файлам (без префикса буквы диска). Вы можете изменить текущую папку на папку, которая является общей для всех файлов, которые вы хотите сжать, а затем использовать относительные пути:

  cd /D C:\dir1\
  7z.exe a c:\a.7z file1.txt dir2file2.txt

Как установить 7-Zip в тихом режиме?

Используйте параметр «/S» для тихой установки и параметр /D=»С:\Program Files7-Zip» для выбора директории установки. Эти параметры зависят от регистра. Для msi-инсталлятора используйте параметр /q INSTALLDIR=»С:\Program Files7-Zip».

Как я могу восстановить поврежденный 7z архив?

Возможны случаи, когда архив поврежден:

  • Вы открываете архив и видите список файлов, но при попытке вытянуть или протестировать файлы получаете ошибку данных или ошибку CRC.
  • Вы пытаетесь открыть архив, но получаете сообщение «Не удается открыть файл как архив».

В некоторых случаях такие архивы можно восстановить. Как это сделать читайте здесь (на английском языке).

Вопросы разработчиков

Почему при компиляции в Visual C++ 6.0 архиватора 7-Zip или LZMA SDK возникает ошибка?

Для компиляции исходных файлов вам нужно использовать Visual C++ 6.0 или выше. Некоторые файлы также требуют новую платформу SDK от microsoft.com.

Если вы используете MSVC, установите директорию SDK вверху списка директорий «Include files» и «Library files». Это может быть найдено в «Tools / Options / Directories».

Последние версии платформы SDK не совместимы с MSVC6. Поэтому вы должны использовать Windows Server 2003 PSDK (февраль 2003) с MSVC6.

Могу ли я использовать файлы EXE или DLL архиватора 7-Zip в коммерческих приложениях?

Да, но вы должны придерживаться следующих требований:

  • Указать в документации, что вы используете часть программы 7-Zip;
  • Указать в документации, что 7-Zip находится под лицензией GNU LGPL;
  • Вы должны поставить ссылку на сайт www.7-zip.org, где можно найти исходный код.

Как мне добавить поддержку архивов 7z к моему ПО?

Единственный путь — использовать 7za.dll (можно скачать на sf.net). 7za.dll работает с интерфейсом COM. При этом он не использует стандартный интерфейс COM для создания объектов. Вы можете найти маленький пример в исходном коде. Полным примером может служить сам архиватор 7-Zip, поскольку он использует этот dll. Также 7za.dll используют архиваторы WINRAR, PowerArchiver и другие.

Еще один путь — вызвать версию для командной строки 7za.exe.

Могу ли я использовать исходный код 7-Zip в коммерческих программах?

Поскольку 7-Zip находиться под лицензией GNU LGPL вы должны следовать правилам этой лицензии. В основном это означает, что любой код, содержащий код LGPL, должен быть под этим действием этой лицензии. К примеру, вы можете изменить код 7-Zip, или использовать часть кода 7-Zip и компилировать это в DLL.

При этом исходный код этого DLL (в том числе с вашими модификациями / добавлениями / обертками) должен быть под лицензией LGPL или GPL. Любой другой код в вашей программе может быть лицензирован как вам будет угодно. Эта схема позволяет пользователям и разработчикам изменять код LGPL и переделывать DLL. Більше про ліцензування безкоштовних програм можна дізнатися здесь. Также вы можете узнать больше о LZMA SDK, который доступен в более либеральной лицензии.

7-Zip
Добавить комментарий

;-) :| :Икс :скрученный: :улыбка: :шок: :печальный: :рулон: :малина: :ой: :o :лол: :смешно: :идея: :усмешка: :зло: :плач: :прохладный: :стрела: :???: :?: :!: