Питання і відповіді (FAQ)

Питання користувачів

Чи можу я використовувати 7-Zip в комерційних організаціях?

Та, 7-Zip це безкоштовна програма. Ви можете використовувати її на будь-якому комп'ютері. Ви не повинні реєструвати або платити за 7-Zip.

Чому операції додати, видалити або відновити не працюють для деяких архівів?

Поточна версія 7-Zip не може виконувати деякі файли .7z, створені з включеною опцією "solid". Ви можете відключити режим "solid" з допомогою -ms=off у командному рядку.

Що щодо підтримки архівів ACE?

Підтримка архівів ACE могла б здійснюватися в 7-zip, якби його початковий код був відкритим, а ліцензія дозволяла б це. Бібліотека Unace.dll від авторів програми ACE не сумісна з інтерфейсом плагінів 7-zip (Unace.dll працює з файлами, але 7-zip дозволяє плагінам працювати лише з абстрактними потоками). Тому 7-zip не може використовувати Unace.dll без складної обгортки.

Чому версія командного рядка не додає файли без розширень до архіву?

Можливо ви використовуєте шаблон *.*. 7-Zip не використовує парсер маскування операційної системи, і тому приймає шаблон *.* як файл, що має розширення. Для обробки всіх файлів ви повинні використовувати шаблон * або відмінити шаблони взагалі.

Чому 7-Zip не відкриває деякі архіви ZIP?

У 99% випадків це означає, що архів містить неправильні заголовки. Деякі інші програми для роботи з архівами ZIP уміють відкривати архіви з неправильними заголовками, якщо вони ігнорують ці помилки.

Якщо ви зіткнулися з такими архівами, будь ласка не намагайтеся повідомити про це розробникам 7-Zip. Замість цього спробуйте знайти програму, яка використовувалася для створення цього архіву і проінформуйте її розробників про те, що їх програмне забезпечення не сумісне з форматом zip.

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

Чому 7-Zip не підтримує великі словники у Windows 32-bit?

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

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

Використовуйте параметр "/S" для тихої установки і параметр "/D=dir" для вибору директорії установки. Ці опції залежать від регістра. 7-Zip використовує інсталятор NSIS від Nullsoft.

Питання розробників

Чому при компіляції в Visual C++ 6.0 архіватора 7-Zip або LZMA SDK виникає помилка?

Для компіляції вихідних файлів вам потрібно використовувати Visual C++ 6.0 або вище. Деякі файли також вимагають нову платформу SDK від microsoft.com:

http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm або http://www.microsoft.com/msdownload/platformsdk/sdkupdate/

Якщо ви використовуєте MSVC, встановіть директорію SDK зверху списку директорій "Include files" і "Library files". Це може бути знайдено під "Tools / Options / Directories".

Останні версії платформи SDK не сумісні з MSVC6. Тому ви повинні використовувати Windows Server 2003 PSDK (лютий 2003) з MSVC6.

Чи можу я використовувати файли EXE або DLL архіватора 7-Zip в комерційних застосуваннях?

Так, але ви повинні вказати у вашій документації те, що ви (1) використовуєте частку програми 7-Zip, (2) що 7-Zip знаходиться під ліцензією GNU LGPL і (3) ви повинні поставити посилання на сайт 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. Більше про ліцензування безкоштовних програм можна дізнатися тут - http://www.gnu.org/. Також ви можете дізнатися більше про LZMA SDK, який доступний в ліберальнішій ліцензії.


Авторські права (C) 2010 Ігор Павлов. Переклад Блог про програми. Підтримка Програми.com.ua.