Valid values: | basic enhanced/nopassword enhanced full |
Default value: | basic |
This specifies the method of archive extraction used by [Files] section flag extractarchive and support functions ExtractArchive and CreateExtractionPage.
basic 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. It only supports .7z archives that are not password-protected.
enhanced/nopassword internally uses 7zxr.dll from the 7-Zip source code by Igor Pavlov, as-is, except that it was recompiled, code-signed, and renamed to is7zxr.dll. Compared to basic, it has lower memory requirements for archives that contain large files but increases the size of the Setup file(s). It still only supports .7z archives that are not password-protected.
enhanced uses 7zxa.dll instead of 7zxr.dll, recompiled, code-signed, and renamed to is7zxa.dll. It still only supports .7z archives, but they may be password-protected.
full uses 7z.dll instead of 7zxa.dll, recompiled, code-signed, and renamed to is7z.dll. It supports multiple archive formats, although not as many as the original 7z.dll, to reduce its size. It supports multi-volume archives.
The following table summarizes the differences between these methods.
Memory Requirements | Password-protected Archives | Setup Size Increase | Archive Formats | |
basic (default) | High for large files* | No | 0 KB | .7z |
enhanced/nopassword | Normal | No | 100 KB | .7z |
enhanced | Normal | Yes | 123 KB | .7z |
full | Normal | Yes | 458 KB | .7z, .zip, .gz, .bz2, .xz, .tar, .rar, .iso, .msi, .cab, .rpm, .vhd, .vhdx, .vdi, .vmdk, .wim, .dmg, .001 |
* = 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 the basic method requires at least 1 GB of RAM. Consider using a different method for .7z archives that contain large files: their memory requirements depend on the dictionary size only.
All methods overwrite read-only files which already exist in the destination directory without prompting the user.
All methods restore the following file properties from the archive, if available: creation time, last modified time, attributes.
When using the full method to extract a compressed archive, such as archive.tar.gz, the output will be the archive file itself (e.g., archive.tar) rather than the individual files contained within it.
The basic method has the following additional limitations, as written by Igor Pavlov in the LZMA SDK:
See also:
ExtractArchive
CreateExtractionPage