FAQ
FAQ dla użytkownika
Czy mogę używać 7-Zip w firmie/organizacji komercyjnej?
Tak, 7-Zip to darmowe oprogramowanie, również dla firm. Możesz z niego korzystać z niego na każdym komputerze. Nie musisz rejestrować 7-Zip, ani za niego płacić.
Jak mogę ustawić skojarzenia plików do 7-Zip w Windows 7 i Windows Vista?
Musisz uruchomić Manadżer Plików 7-Zip z uprawnieniami administatora. Kliknij prawym przyciskiem myszy na ikonce 7-Zip i wybierz Uruchom jako administrator. Wówczas możesz zmienić skojarzenia plików i kilka dodatkowych opcji.
Czemu archiwa 7z stworzone w nowej wersji 7-zip bywają większe niż archiwa ze starszych wersji?
Nowe wersje 7-Zip (od wersji 15.06) domyślnie sortują pliki w inny sposób dla archiwów 7z.
Stare wersje 7-Zip (przed wersją 15.06) sortowały "po typie pliku" ("po rozszerzeniu" pliku).
Nowe wersje 7-Zip wspierają dwa rodzaje sortowania:
- sortowanie po nazwie - domyślnie
- sortowanie po typie, jeśli wartość 'qs' jest umieszczona w polu "Parametry" w oknie "Dodaj do archiwum" (lub użyto przełącznika -mqs w wersji dla linii komend).
O ile rozmiar słownika jest mniejszy niż suma wielkości plików, dla różnych metod sortowania można uzyskać duże różnice w stopniu kompresji. Jeśli w różnych folderach znajdują się podobne pliki, sortowanie "po typie" da zazwyczaj lepsze rezultaty.
Sortowanie po typie plików ma też wady. Przykładowo pliki na dyskach w systemie NTFS są sortowanie "po nazwie", zatem jeśli archiwum używa innego typu sortowania, to prędkość operacji na plikach będzie zależeć mocno od dysku (tradycyjne dyski twarde mają niską prędkość operacji "wyszukaj").
Aby zwiększyć stopień kompresji, możesz:
- Zwiększyć rozmiar słownika. Powinno pomóc, jeśli nie stosujesz 'qs'.
- Umieść 'qs' w polu Parametry (lub użyj przełącznika -mqs, jeśli korzystasz w linii komend).
Jeśli sądzisz, że nietypowa kolejność plików nie stanowi problemu a lepszy stopień kompresji przy małym słowniku jest ważniejszy, użyj trybu 'qs'.
Dlaczego 7-Zip nie może otworzyć pewnych archiwów ZIP?
W 99% przypadków oznacza to, że archiwum zawiera nieprawidłowe nagłówki. Niektóre programy ZIP mogą otwierać archiwa z nieprawidłowymi nagłówkami dlatego, że te programy ignorują błędy.
Jeśli posiadasz takie archiwum, nie musisz powiadamiać o tym programistów 7-Zip. Zamiast tego spróbuj znaleźć program, który został użyty stworzenia danego archiwum i poinformuj deweloperów tego programu, że ich aplikacja nie jest kompatybilna ze standardem ZIP.
Istnieją również archiwa ZIP, które zostały skompresowane metodami niewspieranymi przez 7-Zip, jak choćby WAVPack (WinZip).
Dlaczego rozpakowanie metodą "przeciągnij i upuść" z 7-Zip do Eksploratora wymaga użycia plików tymczasowych?
7-Zip nie zna adresu docelowego dla wypakowania. Tylko Eksplorator Windows zna dokładny adres docelowy. I Eksplorator Windows wymaga plików (źródło przeciągnięcia) jako rozpakowanych plików na dysku. Więc 7-Zip wypakowuje pliki z archiwum do katalogu tymczasowego i wówczas 7-Zip powiadamia Eksplorator Windows o ścieżkach plików tymczasowych. Następnie Eksplorator Windows kopiuje te pliki do docelowego katalogu.
Aby uniknąć używania plików tymczasowych, użyj opcji Wypakuj bezpośrednio w programie, lub "przeciągnij i upuść" między dwoma oknami 7-Zip.
Dlaczego wersja dla linii komend dodaje pliki do archiwum bez rozszerzeń?
Prawdopodobnie używasz tzw. wieloznacznika *.*. 7-Zip nie używa systemowego parsera masek wieloznaczników i traktuje *.* jako wszystkie pliki, posiadające rozszerzenie. Aby przetworzyć dokładnie wszystkie pliki, użyj wieloznacznika * lub zupełnie omiń wieloznaczniki.
Dlaczego przełacznik -r nie działa tak, jak powinien?
W większości przypadków nie potrzebujesz stosować przełącznika -r. 7-Zip może kompresować podkatalogi nawet bez przełącznika -r.
Przykład 1:
7z.exe a c:\a.7z "C:\Program Files"
kompresuje całkowicie "C:\Program Files", włączając wszystkie podkatalogi.
Przykład 2:
7z.exe a -r c:\a.7z "C:\Program Files"
wyszukuje i kompresuje "Program Files" we wszystkich podkatalogach dysku C:\ (na przykład w "C:\WINDOWS").
Jeśli chcesz skompresować tylko pliki z jednym rozszerzeniem, możesz uzyć przełącznika -r:
7z a -r c:\a.zip c:\dir\*.txt
kompresuje wszystkie pliki *.txt z katalogu c:\dir\ i jego podkatalogów.
Jak mogę zachować pełne ścieżki plików w archiwum?
7-Zip zachowuje relatywne ścieżki plików (bez litery dysku). Możesz zmienić bieżący katalog na katalog, który jest wspólny dla wszystkich plików, które chcesz skompresować i wówczas użyć relatywne ścieżki:
cd /D C:\dir1\ 7z.exe a c:\a.7z file1.txt dir2\file2.txt
Dlaczego w 7-Zip nie można używać dużych słowników w 32-bitowym Windows?
32-bitowy Windows potrafi przydzielić tylko 2 GB wirtualnej pamięci na aplikację. Ponadto ten blok 2 GB nie może być zdefragmentowany (na przykład przez pliki DLL)), więc 7-Zip nie może przydzielić jednego, dużego bloku wirtualnej pamięci. Takie limity nie obowiązują w 64-bitowym Windows. Zatem możesz użyć dowolną wielkość słownika w Windows x64, o ile masz wystarczająco dużo pamięci RAM.
Jak mogę zainstalować 7-Zip w trybie cichym?
Dla instalatora exe: aby przeprowadzić cichą instalację użyj parametru "/S", parametrem "/D=dir" definiujesz docelowy katalog. Wielkość liter ma znaczenie. 7-Zip używa instalatora NSIS autorstwa Nullsoft.
Dla instalatora msi: użyj parametru /q INSTALLDIR="C:\Program Files\7-Zip".
Jak mogę odzyskać uszkodzone archiwum 7-zip?
Istnieje kilka możliwych przypadków, gdy archiwum jest uszkodzone:
- Możesz otworzyć archiwum i widzisz listę plików, ale w momencie, gdy chcesz je wypakować lub przetestować, otrzymujesz błędy typu: Błąd danych lyb Błąd CRC.
- Kiedy otwierasz archiwum, otrzymujesz błąd: "Nie można otworzyć archiwum 'a.7z'".
Istnieje możliwość odzyskać części lub całości danych. Skorzystaj z tego poradnika:
Jak odzyskać uszkodzone archiwum 7z (artykuł po angielsku).
FAQ dla dewelopera
Dlaczego pojawiają się błędy połączeń, kiedy kompiluję 7-Zip lub LZMA SDK za pomocą Visual C++ 6.0?
Aby skompilować źródła potrzebujesz Visual C++ w wersji 6.0 lub późniejszej. Niektóre pliki wymagają rónież Platform SDK od Microsoftu:
https://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm lub https://www.microsoft.com/msdownload/platformsdk/sdkupdate/
Jeśli używasz MSVC, sprecyzuj ścieżki na liście ścieżek SDK na górze "Include files" (załącz pliki) i "Library files" (pliki biblioteki). Znajdziesz je pod "Tools / Options / Directories" (Narzędzia / Opcje / Ścieżki).
Ostania wersja Platform SDK nie jest kompatybilna z MSVC6. Musisz więc użyć Windows Server 2003 PSDK (z lutego 2003) z MSVC6.
Czy mogę użyć plików EXE lub DLL z 7-Zip w komercyjnej aplikacji?
Tak, ale musisz zaznaczyć w dokumentacji: (1) że program używa części kodu 7-Zip, (2) 7-Zip jest objęty licencją GNU LGPL, (3) musisz podać link do www.7-zip.org, czyli miejsca, gdzie znajduje się źródło.
Jak mogę dodać wsparcie archiwów 7z do mojej aplikacji?
Jednym ze sposobów jest użycie pliku 7z.dll lub 7za.dll (dostępne do pobrania na stronie sf.net). Biblioteka 7za.dll działa przez interfejs COM. Jednakże nie korzysta one ze standardowych interface'ów dla tworzenia obiektów. Możesz znaleźć krótki przykład w katalogu "CPP\7zip\UI\Client7z". Pełnym przykładem jest sam 7-Zip, ponieważ program także korzysta z tej biblioteki. Istnieją również inne aplikacje, wykorzystujące 7za.dll, m.in. WinRAR, Power Archiver.
Innym sposobem jest wywołanie wersji z linii komend: 7za.exe.
Czy mogę używać kodu źródłowego 7-Zip w aplikacji komercyjnej?
Ponieważ 7-Zip jest oparte na licencji GNU LGPL, musisz przestrzegać zasad tej licencji. W skrócie oznacza to, że każdy kod LGPL musi zostać ocjęty licencją LGPL. Przykładowo, możesz zmienić kod, używany w 7-Zip lub napisać wrapper dla jakiegoś kodu z 7-Zip i skompilować to w bibliotekę DLL; ale kod źródłowy tej biblioteki (włączając w to twoje modyfikacje, dodatki i wrappery) musi podlegać licencji LGPL lub GPL. Każdy inny kod w Twojej aplikacji może być licencjonowany jak tylko chcesz. Ten schemat daje użytkownikom i programistom możliwość zmiany kodu LGPL i zrekompilowania tej biblioteki DLL. To jest właśnie koncepcja darmowego oprogramowania. Możesz przeczytać więcej tutaj: https://www.gnu.org/. Możesz również przeczytać na temat LZMA SDK, który jest dostępny na bardziej liberalnej licencji.