|
@@ -1830,7 +1830,7 @@ end;</pre></example>
|
|
|
<link topic="isxfunc_DownloadTemporaryFileDate">DownloadTemporaryFileDate</link><br />
|
|
|
<link topic="isxfunc_CreateDownloadPage">CreateDownloadPage</link><br />
|
|
|
<link topic="isxfunc_ExtractTemporaryFile">ExtractTemporaryFile</link><br />
|
|
|
-<link topic="isxfunc_Extract7ZipArchive">Extract7ZipArchive</link></p></seealso>
|
|
|
+<link topic="isxfunc_ExtractArchive">ExtractArchive</link></p></seealso>
|
|
|
<example><pre>
|
|
|
[Code]
|
|
|
function OnDownloadProgress(const Url, Filename: String; const Progress, ProgressMax: Int64): Boolean;
|
|
@@ -1876,30 +1876,15 @@ end;</pre>
|
|
|
<p>See <link topic="isxfunc_DownloadTemporaryFile">DownloadTemporaryFile</link> for other considerations.</p></description>
|
|
|
</function>
|
|
|
<function>
|
|
|
- <name>Extract7ZipArchive</name>
|
|
|
- <prototype>procedure Extract7ZipArchive(const ArchiveFileName, DestDir: String; const FullPaths: Boolean; const OnExtractionProgress: TOnExtractionProgress);</prototype>
|
|
|
- <description><p>Extracts the specified 7-Zip archive to the specified directory, with or without using path names.</p>
|
|
|
+ <name>ExtractArchive</name>
|
|
|
+ <prototype>procedure ExtractArchive(const ArchiveFileName, DestDir, Password: String; const FullPaths: Boolean; const OnExtractionProgress: TOnExtractionProgress);</prototype>
|
|
|
+ <description><p>Extracts the specified archive to the specified directory, with or without using path names.</p>
|
|
|
<p>An exception will be raised if there was an error.</p>
|
|
|
-<p>The archive must not be encrypted.</p>
|
|
|
+<p>The supported archive formats, beyond .7z, and the support for password-protected archives, depend on the <link topic="setup_archiveextraction">ArchiveExtraction</link> [Setup] section directive.</p>
|
|
|
<p>Set OnExtractionProgress to a function to be informed of progress, or <tt>nil</tt> otherwise.</p></description>
|
|
|
<remarks><p>TOnExtractionProgress is defined as:</p>
|
|
|
<p><tt>TOnExtractionProgress = function(const ArchiveName, FileName: String; const Progress, ProgressMax: Int64): Boolean;</tt></p>
|
|
|
-<p>Return True to allow the extraction to continue, False otherwise.</p>
|
|
|
-<p><tt>Extract7ZipArchive</tt> uses an embedded version of the "7z ANSI-C Decoder" 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>
|
|
|
-<p>All output of the decoder is logged if logging is enabled, including error messages but excluding empty lines.</p></remarks>
|
|
|
- <limitations><p>The decoder has the following limitations, as written by Igor Pavlov in the LZMA SDK:</p>
|
|
|
-<ul>
|
|
|
-<li>It reads only "FileName", "Size", "LastWriteTime" and "CRC" information for each file in archive.</li>
|
|
|
-<li>It does not support PPMd and BZip2 methods.</li>
|
|
|
-<li>It converts original UTF-16 Unicode file names to UTF-8 Unicode file names.</li>
|
|
|
-<li>It decodes whole solid block from 7z archive to RAM. The RAM consumption can be high.</li>
|
|
|
-</ul>
|
|
|
-<p>To expand on his comments about RAM consumption: When extracting a file, at least enough memory will always be allocated to hold the <b>entire</b> 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>
|
|
|
-<p>Additionally he wrote:</p>
|
|
|
-<ul>
|
|
|
-<li>You can create .7z archive with 7z.exe, 7za.exe or 7zr.exe:<br />
|
|
|
-<tt>7z.exe a archive.7z *.htm -r -mx -m0fb=255</tt></li>
|
|
|
-</ul></limitations>
|
|
|
+<p>Return True to allow the extraction to continue, False otherwise.</p></remarks>
|
|
|
<seealso><p><link topic="isxfunc_CreateExtractionPage">CreateExtractionPage</link><br />
|
|
|
<link topic="isxfunc_CreateDownloadPage">CreateDownloadPage</link><br />
|
|
|
<link topic="isxfunc_DownloadTemporaryFile">DownloadTemporaryFile</link><br />
|
|
@@ -2711,10 +2696,10 @@ Page := CreateOutputMsgMemoPage(wpWelcome,
|
|
|
<p>To add a new archive to extract, call the <tt>Add</tt> method. Always call the <tt>Clear</tt> method before adding the first file.</p>
|
|
|
<p>To start the extraction, call the <tt>Extract</tt> method. An exception will be raised if there was an error. Otherwise, <tt>Extract</tt> returns the number of archives extracted.</p>
|
|
|
<p>Set the <tt>ShowArchiveInsteadFile</tt> property to <tt>True</tt> to show the name of the archive which is being extracted to the user instead of the names of the files inside the archive.</p>
|
|
|
-<p>See <link topic="isxfunc_Extract7ZipArchive">Extract7ZipArchive</link> for other considerations and the definition of <tt>TOnExtractionProgress</tt>.</p></remarks>
|
|
|
+<p>See <link topic="isxfunc_ExtractArchive">ExtractArchive</link> for other considerations and the definition of <tt>TOnExtractionProgress</tt>.</p></remarks>
|
|
|
<example><p>See <i>CodeDownloadFiles2.iss</i> for an example.</p></example>
|
|
|
<seealso><p><link topic="scriptclasses" anchor="TExtractionWizardPage">TExtractionWizardPage</link><br />
|
|
|
-<link topic="isxfunc_Extract7ZipArchive">Extract7ZipArchive</link><br />
|
|
|
+<link topic="isxfunc_ExtractArchive">ExtractArchive</link><br />
|
|
|
<link topic="isxfunc_CreateOutputProgressPage">CreateOutputProgressPage</link></p></seealso>
|
|
|
</function>
|
|
|
<function>
|