OSDN Git Service

mirror .org
[sevenzip/7-Zip.git] / www.7-zip.org / faq.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
2 <HTML><HEAD>\r
3 <META http-equiv="CONTENT-TYPE" content="TEXT/HTML; CHARSET=UTF-8">\r
4 <LINK href="/style.css" rel="stylesheet" type="text/css">\r
5 <TITLE>Frequently Asked Questions (FAQ)</TITLE>\r
6 <META name="keywords" content="7z, lzma, 7-zip, faq">\r
7 </HEAD>\r
8 <BODY>\r
9 <TABLE cellspacing=10 cellpadding=10 border=0 width="100%"><TR>\r
10 <TD class="MenuColumn" valign="top">\r
11 <TABLE cellpadding=2 cellspacing=0 border=0 width="100%">\r
12 <TR><TD><IMG width=110 height=63 src="/7ziplogo.png" alt="7-Zip" border=0></TD></TR>\r
13 <TR><TD><HR></TD></TR></TABLE>\r
14 <TABLE cellpadding="2" cellspacing="0" border="0">\r
15 <TR><TD><A href="./" class="MenuLink">Home</A></TD></TR>\r
16 <TR><TD><A href="7z.html" class="MenuLink">7z Format</A></TD></TR>\r
17 <TR><TD><A href="sdk.html" class="MenuLink">LZMA SDK</A></TD></TR>\r
18 <TR><TD><A href="download.html" class="MenuLink">Download</A></TD></TR>\r
19 <TR><TD><SPAN class="MenuCurrent">FAQ</SPAN></TD></TR>\r
20 <TR><TD><A href="support.html" class="MenuLink">Support</A></TD></TR>\r
21 <TR><TD><A href="links.html" class="MenuLink">Links</A></TD></TR>\r
22 </TABLE>\r
23 <TABLE cellpadding=2 cellspacing=0 border=0 width="100%">\r
24 <TR><TD><HR></TD></TR>\r
25 </TABLE>\r
26 \r
27 <P>\r
28 <B>English</B><BR>\r
29 <A href="http://sparanoid.com/lab/7z/">Chinese Simpl.</A><BR>\r
30 <A href="http://www.developershome.com/7-zip/">Chinese Trad.</A><BR>\r
31 <A href="http://7zip-eo.rnbastos.com/">Esperanto</A><BR>\r
32 <A href="http://www.spiroo.be/7zip/">French</A><BR>\r
33 <A href="http://www.7-zip.de/">German</A><BR>\r
34 <A href="https://sevenzip.osdn.jp/">Japanese</A><BR>\r
35 <A href="http://7zip.rnbastos.com/">Portuguese Brazil</A><BR>\r
36 <A href="http://7zip-es.updatestar.com/">Spanish</A><BR>\r
37 <A href="http://7zip-thai.inetbridge.net/">Thai</A><BR>\r
38 <A href="http://7zip-vi.updatestar.com/">Vietnamese</A><BR>\r
39 </P>\r
40 \r
41 </TD>\r
42 <TD valign="top">\r
43 \r
44 <H1>Frequently Asked Questions (FAQ)</H1>\r
45 \r
46 <UL>\r
47   <LI><A href="#user_faq">User FAQ</A></LI>\r
48   <LI><A href="#developer_faq">Developer FAQ</A></LI>\r
49 </UL>\r
50 \r
51 <H2><a name="user_faq"></a>User FAQ</H2>\r
52 \r
53 <H4>Can I use 7-Zip in a commercial organization?</H4>\r
54 <P>Yes, 7-Zip is free software. You can use it on any computer. You don't need to \r
55 register or pay for 7-Zip.</P>\r
56 \r
57 <H4>How can I set file associations to 7-Zip in Windows 7 and Windows Vista?</H4>\r
58 <P>You must run 7-Zip File Manager in administrator mode. \r
59 Right-click the icon of 7-Zip File Manager, and then click <B>Run as administrator</B>.\r
60 Then you can change file associations and some other options.</P>\r
61 \r
62 <H4>Why 7z archives created by new version of 7-Zip can be larger than archives created by old version of 7-Zip?</H4>\r
63 \r
64 <P>New versions of 7-Zip (starting from version 15.06) use another file sorting \r
65 order by default for solid 7z archives.</P>\r
66 \r
67 <P>Old version of 7-Zip (before version 15.06) used file sorting "by type" ("by extension").</P>\r
68 <P>New version of 7-Zip supports two sorting orders:</P>\r
69 <UL>\r
70   <LI>sorting by name - default order.</LI>\r
71   <LI>sorting by type, if '<B>qs</B>' is specified in <B>Parameters</B> field in "Add to archive" window, \r
72      (or <B>-mqs</B> switch for command line version).</LI>\r
73 </UL>\r
74 \r
75 <P>You can get big difference in compression ratio for different sorting methods,\r
76 if dictionary size is smaller than total size of files.\r
77 If there are similar files in different folders, the sorting "by type" can provide \r
78 better compression ratio in some cases.</P>\r
79 \r
80 <P>Note that sorting "by type" has some drawbacks.\r
81 For example, NTFS volumes use sorting order "by name", so if an archive uses \r
82 another sorting, then the speed of some operations for files with unusual order \r
83 can fall on HDD devices (HDDs have low speed for "seek" operations).</P>\r
84 \r
85 <P>You can increase compression ratio with the following methods:</P>\r
86 <UL>\r
87   <LI>Increase dictionary size. It can help when 'qs' is not used.</LI>\r
88   <LI>Specify '<B>qs</B>' in <B>Parameters</B> field (or use <B>-mqs</B> switch for command line version).</LI>\r
89 </UL>\r
90 \r
91 <P>If you think that unusual file order is not problem for you, \r
92 and if better compression ratio with small dictionary is more important for you,\r
93 use '<B>qs</B>' mode.</P>\r
94 \r
95 <H4>Why can't 7-Zip open some ZIP archives?</H4>\r
96 <P>In 99% of these cases it means that the archive contains incorrect headers.\r
97 Other ZIP programs can open some archives with incorrect headers, since these programs \r
98 just ignore errors.</P>\r
99 <P>If you have such archive, please don't call the 7-Zip developers about it.\r
100 Instead try to find the program that was used to create the archive and inform the developers \r
101 of that program that their software is not ZIP-compatible.</P>\r
102 \r
103 <P>There are also some ZIP archives that were encoded with methods unsupported by 7-Zip,\r
104 for example, WAVPack (WinZip).</P>\r
105 \r
106 <H4>Why can't 7-Zip open some RAR archives?</H4>\r
107 <P>7-Zip 9.20 supports RAR 2/3/4 formats only and doesn't support RAR5 archives.\r
108 But latest versions of 7-Zip supports RAR5 archives.</P>\r
109 \r
110 <H4>Why does drag-and-drop archive extraction from 7-Zip to Explorer use temp files?</H4>\r
111 <P>7-Zip doesn't know folder path of drop target.\r
112 Only Windows Explorer knows exact drop target.\r
113 And Windows Explorer needs files (drag source) as decompressed files on disk.\r
114 So 7-Zip extracts files from archive to temp folder and then \r
115 7-Zip notifies Windows Explorer about paths of these temp files.\r
116 Then Windows  Explorer copies these files to drop target folder.</P>\r
117 \r
118 <P>To avoid temp file usage, you can use Extract command of 7-Zip or \r
119 drag-and-drop from 7-Zip to 7-Zip.</P>\r
120 \r
121 <H4>Why doesn't the command line version add files without extensions to an archive?</H4>\r
122 <P>You're probably using a *.* wildcard. 7-Zip doesn't use the operating system's wildcard mask parser, \r
123 and consequently treats *.* as any file that has an extension. \r
124 To process all files you must use the * wildcard instead or omit the wildcard altogether.</P>\r
125 \r
126 <H4>Why doesn't -r switch work as expected?</H4>\r
127 <P>In most cases you don't need -r switch.\r
128 7-Zip can compress subfolders even without -r switch.</P>\r
129 <P>Example 1:</P>\r
130 <PRE>  7z.exe a c:\a.7z "C:\Program Files"</PRE>\r
131 <P>compresses "C:\Program Files" completely, including all subfolders.</P>\r
132 <P>Example 2:</P>\r
133 <PRE>  7z.exe a -r c:\a.7z "C:\Program Files"</PRE>\r
134 <P>searches and compresses "Program Files" in all subfolders of C:\ (for example, in "C:\WINDOWS").</P>\r
135 If you need to compress only files with some extension, you can use -r switch:\r
136 <PRE>  7z a -r c:\a.zip c:\dir\*.txt </PRE>\r
137 <P>compresses all *.txt files from folder c:\dir\ and all it's subfolders.</P>\r
138 \r
139 <H4>How can I store full path of file in archive?</H4>\r
140 <P>7-Zip stores only relative paths of files (without drive letter prefix).\r
141 You can change current folder to folder that is common for \r
142 all files that you want to compress and then you can use relative paths:</P>\r
143 <PRE>\r
144   cd /D C:\dir1\\r
145   7z.exe a c:\a.7z file1.txt dir2\file2.txt\r
146 </PRE>\r
147 \r
148 <H4>Why can't 7-Zip use big dictionary in 32-bit Windows?</H4>\r
149 <P>32-bit Windows allocates only 2 GB of virtual space per one application. \r
150 Also that block of 2 GB can be fragmented (for example, by some DLL file), \r
151 so 7-Zip can't allocate one big contiguous block of virtual space.\r
152 There are no such limitations in 64-bit Windows. \r
153 So you can use any dictionary in Windows x64, if you have required amount of physical RAM.</P>\r
154 \r
155 <H4>How can I install 7-Zip in silent mode?</H4>\r
156 \r
157 <P>For exe installer: Use the "/S" parameter to do a silent installation and the /D="C:\Program Files\7-Zip" parameter \r
158 to specify the "output directory". These options are case-sensitive.</P>\r
159 \r
160 <P>For msi installer: Use the /q INSTALLDIR="C:\Program Files\7-Zip" parameters.</P>\r
161 \r
162 \r
163 <H4>How can I recover corrupted 7z archive?</H4>\r
164 \r
165 <P>There are some possible cases when archive is corrupted:\r
166 <UL>\r
167   <LI>You can open archive and you can see the list of files, but when you press \r
168       Extract or Test command, there are some errors: Data Error or CRC Error.\r
169   <LI>When you open archive, you get message "Can not open file 'a.7z' as archive"\r
170 </UL>\r
171 \r
172 <P>It's possible to recover some data. Read about recovering procedure:\r
173 \r
174 <P><A href="recover.html">Recover corrupted 7z archive</A></P>\r
175 \r
176 <BR><BR>\r
177 <H2><a name="developer_faq"></a>Developer FAQ</H2>\r
178 \r
179 <H4>Why are there linking errors when I compile 7-Zip or LZMA SDK with Visual C++ 6.0?</H4>\r
180 \r
181 <P>To compile sources you will need Visual C++ 6.0 or a later version. \r
182 Some files also require a new Platform SDK from microsoft.com:</P>\r
183 <A href="http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm"><B>\r
184 http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm</B></A>\r
185 or\r
186 <A href="http://www.microsoft.com/msdownload/platformsdk/sdkupdate/"><B>\r
187 http://www.microsoft.com/msdownload/platformsdk/sdkupdate/</B></A>\r
188 \r
189 <P>If you are using MSVC, specify the SDK directories at the top of the "Include files" and \r
190 "Library files" directory lists. These can be found under "Tools / Options / Directories".</P>\r
191 <P>The latest Platform SDK is not compatible with MSVC6. So you must use\r
192 Windows Server 2003 PSDK (February 2003) with MSVC6.</P>\r
193 \r
194 <H4>Can I use the EXE or DLL files from 7-Zip in a Commercial Application?</H4>\r
195 \r
196 <P>Yes, but you are required to specify in your documentation (1) that  \r
197 you used parts of the 7-Zip program, (2) that 7-Zip is licensed under the GNU LGPL license and \r
198 (3) you must give a link to www.7-zip.org, where the source code can be found.</P>\r
199 \r
200 <H4>How can I add support for 7z archives to my application?</H4>\r
201 \r
202 <P>One way is to use the 7z.dll or 7za.dll (available from sf.net for download). The 7za.dll \r
203 works via COM interfaces. It, however, doesn't use standard COM interfaces for \r
204 creating objects. You can find a small example in "CPP\7zip\UI\Client7z" folder \r
205 in the source code. A full example is \r
206 7-Zip itself, since 7-Zip works via this dll also. There are other applications \r
207 that use 7za.dll such as WinRAR, PowerArchiver and others.</P>\r
208 \r
209 <P>The other way is to call the command line version: 7za.exe.</P>\r
210 \r
211 <H4>Can I use the source code of 7-Zip in a commercial application?</H4>\r
212 \r
213 <P>Since 7-Zip is licensed under the GNU LGPL you must follow the rules of that license. \r
214 In brief, it means that any LGPL'ed code must remain licensed under the LGPL. For \r
215 instance, you can change the code from 7-Zip or write a wrapper for some code\r
216 from 7-Zip and compile it into a DLL; but, the source code of that DLL (including \r
217 your modifications / additions / wrapper) must be licensed under the LGPL or GPL.\r
218 Any other code in your application can be licensed as you wish.\r
219 This scheme allows users and developers to change LGPL'ed code and recompile\r
220 that DLL. That is the idea of free software. Read more here: \r
221 <A href="http://www.gnu.org/">http://www.gnu.org/</A>.\r
222 \r
223 You can also read about the <A href="sdk.html">LZMA SDK</A>, which is available \r
224 under a more liberal license.</P>\r
225 \r
226 \r
227 <HR>\r
228 <P><SMALL>Copyright (C) 2019 Igor Pavlov. The site is hosted at <A href="https://m.do.co/c/cab893b82fa8">Digital Ocean</A> </SMALL></P>\r
229 </TD></TR></TABLE>\r
230 \r
231 </BODY></HTML>\r