Skip to content

Commit bce35b6

Browse files
committed
Improve Extract7ZipArchive topic. Includes removal of the bit about fast extracting and block sizes because the function always extract all files.
1 parent 8d0fcaf commit bce35b6

File tree

2 files changed

+20
-11
lines changed

2 files changed

+20
-11
lines changed

ISHelp/isxfunc.xml

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1893,17 +1893,20 @@ end;</pre>
18931893
<p>Return True to allow the extraction to continue, False otherwise.</p>
18941894
<p><tt>Extract7ZipArchive</tt> uses an embedded version of the &quot;7z ANSI-C Decoder&quot; from the LZMA SDK by Igor Pavlov, as-is, except that Unicode support and error messages were improved and that it outputs memory requirements.</p>
18951895
<p>All output of the decoder is logged if logging is enabled, including error messages but excluding empty lines.</p>
1896-
<p>The decoder has the following limitations, as written by Igor Pavlov in the LZMA SDK:<br /><br />
1897-
-It reads only &quot;FileName&quot;, &quot;Size&quot;, &quot;LastWriteTime&quot; and &quot;CRC&quot; information for each file in archive.<br />
1898-
-It does not support PPMd and BZip2 methods.<br />
1899-
-It converts original UTF-16 Unicode file names to UTF-8 Unicode file names.<br />
1900-
-It decodes whole solid block from 7z archive to RAM. The RAM consumption can be high.</p>
1901-
<p>Additionally he wrote:<br /><br />
1902-
You can create .7z archive with 7z.exe, 7za.exe or 7zr.exe:<br /><br />
1903-
7z.exe a archive.7z *.htm -r -mx -m0fb=255<br /><br />
1904-
If you have big number of files in archive, and you need fast extracting, you can use partly-solid archives:<br /><br />
1905-
7za.exe a archive.7z *.htm -ms=512K -r -mx -m0fb=255 -m0d=512K<br /><br />
1906-
In that example 7-Zip will use 512KB solid blocks. So it needs to decompress only 512KB for extracting one file from such archive.</p></remarks>
1896+
<p>The decoder has the following limitations, as written by Igor Pavlov in the LZMA SDK:</p>
1897+
<ul>
1898+
<li>It reads only &quot;FileName&quot;, &quot;Size&quot;, &quot;LastWriteTime&quot; and &quot;CRC&quot; information for each file in archive.</li>
1899+
<li>It does not support PPMd and BZip2 methods.</li>
1900+
<li>It converts original UTF-16 Unicode file names to UTF-8 Unicode file names.</li>
1901+
<li>It decodes whole solid block from 7z archive to RAM. The RAM consumption can be high.</li>
1902+
</ul>
1903+
<p>To expand on his comments about RAM consumption: When extracting a file, at least enough memory will always be allocated to hold the entire file, regardless of the block size. For example, extracting a 1 GB file using <tt>Extract7ZipArchive</tt> requires at least 1 GB of RAM. Consider using a different solution for extracting large files, such as embedding 7-Zip itself, which does not use as much RAM, into your installation.</p>
1904+
<p>Additionally he wrote:</p>
1905+
<ul>
1906+
<li>You can create .7z archive with 7z.exe, 7za.exe or 7zr.exe:<br />
1907+
<tt>7z.exe a archive.7z *.htm -r -mx -m0fb=255</tt></li>
1908+
</ul>
1909+
</remarks>
19071910
<seealso><p><link topic="isxfunc_CreateExtractionPage">CreateExtractionPage</link><br />
19081911
<link topic="isxfunc_CreateDownloadPage">CreateDownloadPage</link><br />
19091912
<link topic="isxfunc_DownloadTemporaryFile">DownloadTemporaryFile</link><br />

ISHelp/isxfunc.xsl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,12 @@
139139
<xsl:template match="tt">
140140
<tt><xsl:apply-templates/></tt></xsl:template>
141141

142+
<xsl:template match="ul">
143+
<ul><xsl:apply-templates/></ul></xsl:template>
144+
145+
<xsl:template match="li">
146+
<li><xsl:apply-templates/></li></xsl:template>
147+
142148
<xsl:template match="br">
143149
<br />
144150
</xsl:template>

0 commit comments

Comments
 (0)