==========================================================================
UNLHA32.DLL Ver 0.97E Commands Manual
Copyright(C)1998 by Micco
Translated by Hitoshi Ozawa
Release 1998/01/17
==========================================================================
--------------------------------------------------------------------------
%1 1. Command Line Format
%2 2. Commands
%3 3. Options
%4 4. Base Directory
%5 5. Batch File
%6 6. Wild Card Characters
%7 7. Limitation in Number of Files
%8 8. Environmental Variables
%9 9. Temporary Files
%a 10. Header Format Supported by UNLHA32.DLL
%b 11. Compression Format Supported by UNLHA32.DLL
%c 12. Self-Extracting Archive(SFX)
--------------------------------------------------------------------------
%1. Command Line Format
[<command>] [[-<switch>[+|-|0|1|2]]...] <archive_file_name>[.LZH]
[<base_directory_name>\] [[@<list_name>|<path_name>|<wild_name>]...]
Command and switches may be entered in upper or lower case letters.
Switch may be specified anywhere after the command.
'-' and '/' character may be used to precede a switch. However, they
may not be mixed within one command. In the format above, '-' is used.
When '-' is used to prefix a switch, '/' character is recognized as a
directory separator symbol.
Command must be the first parameter in the command line. If command
is not explicitly specified, UNLHA32.DLL by default sets command to 'l'
(list).
Furthermore, UNLHA32.DLL will assume the first file name as a LZH
archive file. If directory to extract files are to be specified, it
must be specified directly after this archive file name. A directory,
additionally must end in '\' or ':' character depending on whether
subdirectory or just a drive is specified respectively.
Example: e archive c: -f *.doc
Extract files with extension DOC from archive file
ARCHIVE.LZH to drive C:.
Several files to be processed may be listed after the command or it
may be listed in a separate file. If files are listed in a separate file,
file name should be prefixed with a character '@' in the command line.
If the first character of the file name originally starts with character
'@', '--' switch must be specified.
In the separate file list, files may be specified using wild characters
but another file list may not be nested. Files may be listed one to a line
or several to a line within the file list.
Wild card characters are based on MS-DOS. '*' character is used to
specify string while '?' is used to specify a character.
Example: *.* All files with any extension.
*.DOC All files with extension DOC.
?A*.* All files that have 'A' as the second character in the
file name.
If file to be extracted is not specified, all files are extracted.
(ie. *.* is used by default.)
If there is a space in the file name, surround the file name and
parameters with a quotation mark ("). Otherwise, they will be treated
as multiple files.
Example: a archive c:\test.lzh *.doc "-wE:\WORK"
Note:
Wild card characters may only be used to specify LZH file names in
command line parameter to Unlha().
Current version does not support wild card characters in other functions.
%2. Commands
a: Add file to the archive file
Compress file(s) and added them to the archive file. If the
archive file does not exist, it is created. If a file already
exists in the archive file, it is over written. This command is
similar to 'c' command with '-c' option.
If '-r' is specified, all files matching the specified file name
in the directory and subdirectories are compressed and archived
to the archive file.
Example: a -r archive subdir\*.*
compress and archive all files and subdirectories in the
subdir\ directory.
c: Comment
Enter comments. UNLHA32.DLL will prompt for a comment for each
file. Comment may be up to 2048 bytes. Comment may also be entered
using '-jz' option.
Do not enter comments to files that are to be distributed.
Entering comments is still not supported in LHA standard
specification.
d: Delete file from the archive file
Delete file from the archive file. Specify '-jyd' option to
prompt confirmation on each file. Files deleted are not
recoverable.
Example: d -jyd- archive *.c
Delete all files with extension 'c' but prompt for
confirmation on each file before actually deleting a file.
To delete file that does not exist on the disk (ie. file in the
memory), use the '-jn' option.
e: Extract file from the archive file
Extract one or more file from an archive file to the current
or specified directory. Unless '-y' option is specified,
UNLHA32.DLL will always prompt for confirmation before overwriting
an existing file. If 'no' is chosen during the overwrite
confirmation, user is prompted for a new file name. To skip from
overwriting and creating a new file, just press the Return key
without entering any file name.
If a file in the archive encounters a CRC or illegal data
error during extraction, an user is prompted whether to delete
the file from the archive file.
f: Freshen (update) file in the archive file
File(s) matching the same name in the archive is updated if it
has an older modification date/time than the specified file.
If '-c' option is specified, all files matching the file same are
updated without checking the modification date/time. Specifying
the '-c' option is the same as 'a' command.
Example: a archive \temp\ *.* -r
Add all files in temp\ directory and its
subdirectories to an archive file and update all
files without checking file modification dates.
f archive \temp\ *.* -r
Update all files in temp\ directory and its
subdirectories if it exists in the archive file
and if it has a more recent modification date
then the existing file in the archive file.
j: Merge archive files
'j' option is used to merge two or more LZH archive files.
Example: j archive archive1.arj archive2.arj
j archive *.arj -r
Warning: 'j' switch is used to combine the entire archive files.
Files in the archive files can not be specified.
'j' option may also be used to convert self-extracting file to
a regular LZH archive file.
Example: j new_name lzhsfx.exe
l: List files in the archive file
List information about files in the archive file. Files are
listed in order they were added to the archive file.
To delete files that are not yet written to a disk (ie. the
file is in memory), use the '-jn' switch.
m: Move file to the archive file
'm' command is similar to the 'u' command but deletes the
original file after putting it in the archive. When the '-c'
option is specified, modification date is not checked.
WARNING: Even if file is not put into the archive file because
a more recent file already exists in the archive file, the
original file is deleted.
n: Rename file in the archive file
Change the name of a file in the archive file. UNLHA.DLL prompts
for a new file name on each file. If file name is not entered,
file name will not be changed. Directory information may be
entered by using '\' and '/' characters. Furthermore, long file
name and file name containing spaces may be specified.
p: Output only file information to buffer
LHA.EXE output results to the standard output, but there is no
standard Windows output, so UNLHA.DLL output results to a buffer.
This command output only information concerning extracted file to
to this buffer.
s: Create self-extracting archive file
Convert standard LZH archive file to a self-extracting EXE file.
Please consult LHA.EXE for more information on self-extracting
files.
t: Conduct CRC test on an archive file
Conduct a CRC test on file in the archive file.
u: Update archive file
Update files in the archive in a similar manner as the 'a'
command but compare modification date when file already exists
in the archive file. File in the archive file is only updated
when the modification date of the new file is more recent than
in the archive file. If '-c' option is specified, 'u' command
behaves in a similar manner as the 'a' command.
v: Validate archive file
Lists same information as executing LHA.EXE with 'v' command.
Same as executing 'l -x1' command.
x: Extract files creating sub-directories
Extracts one or more files creating sub-directories when
necessary. Same as executing 'e -x1m1' command.
y: Change archive file
'y' option is used to change header information in the archive file,
Example: y archive -h1 change archive file to h1 format
y archive delete path file from archive file.
(remember that default parameter is
set to '-x0')
'y' option only changes header information and does not change the
actually compressed file in the archive.
%3. Options
UNLHA32.DLL supports options available in LHA.EXE v2.67 and in ARJ.EXE.
-: Specify Batch File Descriptor
Specify character to use to specify batch files. To nullify
specification, specify '--' option.
Example: e archive --! !list.fil
e archive -- @.bat
WARNING:
UNLHA32.DLL '--' option is incompatible with LHA.EXE.
+: Override specifications in Registry
If it is not explicitly specified, UNLHA32.DLL uses specifications
set in the Windows' Registry file but when '-+' option is specified,
they are not used.
a[0|1|2]: Ignore File Attributes
All files will be extracted regardless of their file attributes.
Furthermore, extracted files will have attribute set to those
set in the archive file.
If '-a0' option is specified when archiving files, hidden and
system files are not archived. Read-only files are archived with
read-only attribute.
If '-a1' option is specifed when archiving files, all files are
put to an archive file with the same file attribute as the original
file.
If '-a2' option is specified when archiving files, all files are
put to an archive file with the same file attribute as with the
'-a1' option. If '-r2x1' is specified, directory names are also
kept in the archive file as with the '-d1' option. Compression
method of directory names are displayed as '-lhd-'.
If '-a0' option is specified when extracting files, hidden and
system files in the archive file are not extracted. Read-only
files are extracted but the extracted file will not have
read-only attribute.
If '-a1' option is specified when extracting files, all files
are extracted with file attribute specified in the archive file.
c[0|1]: Ignore Modification Date/Time
If file already exists when using the 'u','f','e', or 'x'
command, modification date/time of the files are compared. If
modification date/time of the existing file is more recent than
the new file, it is not extracted. Specifying the '-c' overrides
this modification date/time comparision and always update or
extract files.
d[0|1]: Preserve Directory Name
Create subdirectories while extracting files and preserve file
attribute information.
'-d1' option is equivalent to '-r2x1a2' option. Do not forget
to specify '-r2', '-x1', and '-a2' option when extracting files.
e[0|1]: Half dictionary size when compressing
Half dictionary size when compressing in lh5 and lh6 format.
Even if this option is not selected, dictionary size is reduced
to at most 4KB when there is not enough memory.
UNLHA32.DLL is compatible to LHA.EXE ver2.6x and will still use
lh5 format with maximum of 4KB instead of using lh4.
-e0: compress file with halved dictionary size
-e1: compress file without reducing dictionary size (default)
f[0|1]: Do Not Check Free Disk Space
UNLHA32.DLL always check for free disk space before extracting
files. 'f1' option is used in LHA.EXE to specify free disk space
checking but this is the default UNLHA.DLL specification.
h[0|1|2|3]: Specify Header Format
Specify header format. Default is '-h2' but,
DOS-SFX and WinSFX are assigned '-h0' and WinSFX32 are always
assigned '-h2'. Current version also supports '-h3' format
which is used by UNIX and OS/2 but specification may change in
the later releases.
-h0: LHarc compatible header
-h1: LHA.EXE compatible header
-h2: LHA.EXE 2.67.32.00 beta compatible header
i[0|1|2]: Distinguish Upper and Lower Case Letter in File Name
Some OS distinguish between upper and lower case letters. If
an archive file was created on these OS, specify this option to
recognize file names.
a. Command to process files in an archive file (f,d,s,e,x,t,p,l,v)
-i0: Do not distinguish upper and lower case letters
-i1,-i2: Distinguish upper and lower case letters
b. Command to process files not in an archive file (a, u, m)
-i0: Convert all characters to upper case before archiving
-i1: Convert all characters in file name to upper case
-i2: Convert all characters in file name to lower case
c. When creating self-extracting files(WinSFX/DosSFX)
-i0: Convert all characters to upper case
-i1, -i2: Do not convert
By default, UNLHA32.DLL does not convert characters.
Warning: LHA32.EXE v2.67.32.00 distinguishes between upper and
lower case letters but UNLHA32.DLL does not.
j: Switch meaning of option characters
Switch meaning of option characters.
Examples: '-jf' is not equivalent to '-f' but is equivalent to
'-jjf' because it is switched twice. '-jfjn' is
equivalent to 'jf -n' and '-jfn' is equivalent to
'-jf -jn'.
l[0|1|2]: Change file name list in extraction log
Specify what item to include in the file extraction log.
-l0: List only file name
-l1,-l2: List path name in archive, directory to where file
was extracted, and file name
m[0|1|2]: Answer all prompt with 'yes'
Answer all prompts with 'Y' and do not prompt for any overwrite
and create subdirectory prompt.
When overwriting a file, 'm1' and 'm2' have the following meanings:
-m1: If '-c0' is also specified, compare modification dates and
extract file only if file in the archive is more recent than
-m2: If '-c0' is also specified, extract files and number file
extension with numerials from '000' to '999'. Files are
always extracted even when the same file already exists.
n[0|1]: Do not display dialog box when extracting files
UNLHA32.DLL displays progress information in a dialog box when
extracting files. Specifying '-n' option stops this dialog box
from being displayed.
o[0|1|2]: Create LHarc compatible archive file
Create archive file which can be extracted using LHarc ver 1.xx
and LHA.EXE ver.2.13. LHA.EXE Ver.2.6x default setting is 'o0'
but UNLHA32.DLL default setting is 'o2'.
-o0: Create archive file in lh6 format. (Standard LHA.EXE Ver 2.6x
format.)
-o1: Create archive file in LHarc v1.13 compatible format.
-o2: Create archive file in LHA v2.13 compatible format. (default)
p[0|1|2]: Exact match full pathname
Full pathname is compared for exact matching when '-p' option
is specified.
UNLHA32.DLL checks the full pathname whenever full path including
file name is specified regardless of if '-p' was specified or not.
When using '*.*' to specify all files, do not use '-p' option -
This combination implies only files without any path (ie. files
in the root directory.)
To also extract files in the subdirectories, use the '-p2'
option.
Example: e archive TC\INCLUDE\*.* -p2
All files in the TC\INCLUDE directory and its subdirectories
are extracted.
ie. '-pw' option is like '-r2' option.
r[0|1|2]: Extract all files in subdirectories
Whether to extract files in the archive subdirectories.
-r0: Extract only files in the specified by directory
-r1: Extract file with same name in subdirectories
Directory and file name are separated from the specified
file name and all files matching the file name in the directory
and its subdirectories are extracted from the achive file.
Example: x archive -r1 C:\TMP\WIN31\readme.txt
Extract all files named README.TXT in C:\TMP\WIN31 and all
its subdirectories.
-r2: Extract all files in the specified directory and its
subdirectories.
Example: e archive -r2 C:\TMP\WIN31
Extract all files in C:\TMP\WIN31 directory and its
subdirectories.
Be aware of the difference between '-r1' and '-r2' options.
To process all files in the subdirectory, use the '-r2'.
In many circumstances, '*.*' files are specified with '-r1'
option so there does not seem to be any difference.
'r' without any number implies '-r1', not '-r2'.
s[0|1]: Do not display 'Skipped file' message
Do not display 'Skipped FILENAME.TXT' message when more recent
file already exists.
t[0|1]: Adjust modification date of an archive file to the most
recent modification date of a file in the archive file.
Archive file is modified by 'a','u','m','f', and 'd' commands.
Unless 't' option is specified, modification date/time of the
archive file is assigned the date/time when the archive file was
modified (ie. the current system clock).
u[0|1]: Update File
When used with 'e' and 'x' options, UNLHA32.DLL will only
extract files which are newer or which does not exist.
When used with 'm' option, only files which is newer or which
does not exist in the archive are updated.
This option is specified by default so it is not necessary to
explicitly specify it in most circumstances.
u2: Update File (Older or non-existent)
When used with 'e' and 'x' options, UNLHA32.DLL will only
extract files which are newer or which does not exist.
w[0|1|<temporary directory>]: Specify directory to use as a
temporary working directory
Specify a directory to create temporary working files.
Specifying 'w1' option without specifying any directory will
create temporary files at directory set TMP and TEMP
environmental variables.
If 'w0' option is specified, temporary files are created in
Windows' directory.
Default value is '-w1'.
x[0|1]: Create subdirectories when needed
If file directory information is included in the archive file,
files are extracted to that directory. If the directory does not
already exists, it is created.
If 'x' option is specified with 'l' option, directory information
is displayed with file information.
When 'x' option is specified during file archive, directory
information is archived with the file.
y[0|1]: Answer all question with 'yes'
Specifying 'y' option answers all overwrite and create new
directory set with 'yes' and prevents corresponding confirmation
dialog from being displayed.
To prevent files from being overwritten, use the '-jn' option
with 'y' option.
To specify confirmation message from displaying for each file type,
use the '-jy' option. '-y' option alone is the same as '-jycdkno'
option.
z[0|1|2|<extension>]: Do not compress when archiving
Put a file in an archive file without compressing.
-z1 : Put all files in an archive file without compressing
-z2 : Do not compress files with LZH, LZS, ZIP, PAK, ARC,
ZOO, and ARJ extensions only when putting files into
an archive file.
-z<extension> :
Do not compress files with specified extension in addition
to those specified by '-z2' option. A '.' maybe included
in the <extension> or it may be omitted.
As in "-zexe -za??", several files may be specified using
wild card characters.
jc[0|1]: Ignore Corrupt Header
This flag is used to access archive files with corrupt headers.
When this option is specified, UNLHA32.DLL will go on to the
next file. However, if there is an I/O error, UNLHA32.DLL will
stop execution.
jd[<size>]: Check free disk space
Check free disk space before extracting file. UNLHA32.DLL skips
extraction of all files that can not be fully extracted within
the specified <size>. Default size is set to 0 - UNLHA32.DLL checks
if the free disk space is 0 byte before extracting a file. Default
size if 0 byte.
A letter 'K' may be used to signify 1,000.
Example: e archive basedir\ -jd100K *.doc
In the above example, UNLHA32.DLL will not extract files
that leaves less than 100,000 bytes after extraction.
When specified with 'l' and 'v' options, an error message is
displayed when the total file size leaves less than the specified
<size>.
je[<size>]: Size of Huffman Coding Buffer
lh5,lh6,lh7 compression supported by UNLHA32.DLL uses
static Huffman hashing algorithm with 16384 bytes buffer size.
This option allows users to change this buffer size to anywhere
between 4096 bytes and 32768 bytes.
jf[0|1]: Extract files in relative directory
UNLHA32.DLL by default extracts files with complete directory
information to the root directory. '-jf0' option extracts files
relative to the current directory instead of the root.
jh[0|1]: Save WindowsNT/95 Marks in the Archive File
UNLHA32.DLL by default uses MS-DOS OS mark in the archive file.
This option allows users to save OS marks in WindowsNT or in
Windows95 format.
WARNING: This option is not officially supported yet.
ji[0|1]: Save using Short File Name
UNLHA32.DLL by default will save file names in long format.
This option allows users to save file names in the 8.3 MS-DOS
format.
jm[0|1|2|3|4]: Compression Format
Specify compression format.
UNLHA32.DLL compression format is compatible to LHA.EXE v2.67.
-jm0 : lh0 = no compression
-jm1 : lh1 = LHarc compatible. It is slower and compression
ratio is lower than LHA format.
-jm2 : lh5 = LHA Ver 2.13 compatible (default)
-jm3 : lh6 = LHA Ver 2.6x compatible. Compression ratio is
better than lh5 format.
-jm4 : lh7 = LHA Ver 2.6x,Format extractable by LHA32.
Compression ratio is better than lh6.
lh6 format archive can only be extracted with LHA Ver2.50 or
later. lh7 format archive can only be extracted with LHA Ver2.63
or later or with LHA32.EXE. However, these tools are only able
to extract file, not compress them in lh7 format.
jn[0|1]: Extract only non-existing files
Used with 'e' and 'x' option to extract files that current do
not exist in the directory.
When used with 'e' and 'x' commands, only files that are not
exist are extracted.
When used with 'a' and 'm' commands, only files that do not
exist in the archive file are compressed.
When used with 'd' and 'l' commands, only files that do not
exist are selected.
jo[b][<time>]: Process only files after specified date/time
date/time is specified in YYMMDDHHMMSS format
'-jo' option without any date/time specification selects all
files that were modified today.
If date and time is specified, all files modified after that
date and time are processed.
Example: e test -jo9001021700
Process only files modified after Jan.03,1990.
WARNINGS:
1. Year less than 80 are recognized as year after 21th
century.
2. Date/time format can not be changed. It must be specified
in YYMDDHHMMSS format.
'-job' option processes files before the specified date/time.
'-jo' and '-job' options may both be specified to select files
within a specified period.
Example: e archive *.* -jo910101 -job910102
Process files modified on Jan.01,1991.
WARNING:
When used with 'a','u','f', and 'm' commands, modification
date/time of file to be archived are compared. When used with
other commands, modification date/time of files in the archive
file are compared.
jp[0|1]: Display Progess Bar
By default, UNLHA32.DLL only displays Progress Bar only in FV
mode. This option forces Progress Bar display in other modes.
Progress Bar may be forced to not display in FV mode by
specifying '-jp0' option.
jr[0|1]: Replace File
Like the 'f' command, 'jr' command replaces the current file
in the archive but in more useable way as a [Edit] option in an
application. May be specified with 'a', 'u', and 'm' options.
Example: u -jr archive C:\TMP\ WIN31\README.TXT
Change WIN31\README.TXT in the archive file to
C:\TMP\README.TXT
js[<flag>]: Set Flags
Set flags used by the DLL.
Only 's' <flags> is supported by the current version.
s - ignore archive file open error. When this switch is not
specified, UNLHA32.DLL will return an error and operation
is terminated when file to archive file to is not specified.
This option is specified in a similar fashion as 'jy' option.
jw[0|1|2|3|4]: Create self-extracting file - WinSFX
When used with 's' option, Windows self-extracting format
archive are created. To use default optional settings, use
'jw2' option.
WinSFXM files are created when "-jw3" and "-jw4" are
specified.
jx[<file name>]: exclusion file name
'jx' option is used to exclude specified files from being
processed.
Example: e archive soft\*.* -jx*.exe -jx*.obj -jxtest
In this example, files in SOFT directory excluding file
named TEST and with extensions EXE and OBJ are extracted.
NOTE:
1. Exclusion file may be listed in a separate file. Prefix
the file name with a '@' symbol in this case.
2. Subdirectory may be also be excluded. Append a '\' character
to represent that it is a directory.
Example: e archive C:\*.* -jxC:\TMP\
Do not extract all files in the C:\TMP directory.
WARNINGS:
1. Exclusion file specification must have the same relative
path specification as the file selection specification.
Example: e archive \tmp\*.* -jxC:\tmp\firstdir
Above is an example of an illegal command because
exclusion file specification, C:\tmp\firstdir is
not consistant with file selection specification,
\tmp\*.*. Drive specification, 'C:' should not be
specified. Example of correct command line:
e archive \tmp\*.* -jx\tmp\firstdir
2. '-jx' option ignores '-p' option.
jy[<flag>]: Reply dialog boxes with 'yes'
When this option is specified, confirmations
are replied with 'yes' and dialogs are not displayed.
Example: e archive -jy<flags>
<flag> is one or more of the followings letters:
c - skip directory creation confirmation
d - skip file deletion confirmation
k - skip disk usage confirmation
n - skip new file name entry
o - skip overwrite file confirmation
Replies to specified dialog boxes are answered with 'yes'.
Example: e archive -jy<flags>
NOTE:
1. Each flag may be specified as a separate '-jy' option
(eg. '-jyc -jyo' instead of '-jyco').
2. Option may be turned off. (eg. '-jyc0')
3. Switch are toggled. Specifying '-jyc -jyc' turns off
the '-jyc' option. However, options applies to the
entire files in the command line and options may not
be set for each file in the command line.
jz[<file name>]: Enter Comments
'-jz' option is used to attach comment to one or more files
in the archive file. Only one comment file may be specified.
WARNING: Current version, however, only support comment file
of length '0'.
Example: c archive file1 -jzcomment.txt
ga[0|1]: Do not overwrite Read-only files
When extracting files, UNLHA32.DLL overwrites even read-only
files. '-ga0' option prevents this overwrite.
gd[0|1]: Delete unnecessary data
When UNLHA32.DLL creates a self-extracting file, it preserves
unnecessary data if they exist. Specifying this option deletes
this unnecessary data when creating a self-extracting file.
ge[0|1]: Verify Extension in the First File
By default, UNLHA32.DLL uses extension from the last file to
distinguish files. This option is used to change to use the
first file in the list distinguish files.
gf[0|1]: Update only new files
Used with 'e' and 'x' command to extract only files with more
recent modification date/time.
gf2: Update only old files
Used with 'e' and 'x' command to extract only files with older
modification date/time.
gj[0|1]: Treat 'x' command as 'e' command
UNLHA32.DLL by default creates subdirectories when extracting
files using a 'x' command. However, all files may be extracted
to a single directory without creating subdirectoruies by
specifying '-gj' option.
This option is not very useful. Use '-x-' option instead.
gm[0|1]: Do not display error messages
UNLHA32.DLL by default display all error messages. However, '-gm'
option stops these messages from being displayed.
Use this option with care because confirmation messages are
also not displayed.
gn[0|1|2]: Set extraction progress file size to total of all files
UNLHA32.DLL by default displays progress of each file being
extracted, but specifying '-gn' option changes the progress to
reflect the total of all files that are to be extracted.
WARNING:
Specifying this option double pass though the archive file.
If the archive file is in a FD, this will tremendously slow
down file extraction.
Specifying '-gn2' changes progress display to show only file
go[0|1]: Specify Dialog Owner Window
By default, UNLHA32.DLL opens dialog box opened by the Unlha()
function. This option is used to change this window to the one
opened by UnlhaSetOwnerWindow().
Regardless of whether this option is specified or not,
UNLHA32.DLL disables windows opened by Unlha().
gp[0|1]: Do not Disable Windows
By default, UNLHA32.DLL disables window opened by Unlha().
When '-gp0' option is selected, UNLHA32.DLL will not disable the
windows.
gr[<filename>]: Specified Rename File Name
UNLHA32.DLL by default prompts for a filename to rename a file.
When this option is specified with the '-n' option, the file
name may be specified with the optional parameter suppressing
the prompt.
WARNING: If wildcard character is used to select files, '-gr'
option will rename all matched files to the same file.
Example: n archive file1 -grChangeName.TXT
The above example renames 'file1' to 'ChangeName.TXT'.
If '-s' option is specified with this option, a self-extracting
file will be created with the specified name. However, even if
path is specified with the filename, it will be ignored and only
file name will be used.
Example: s archive file1 C:\TMP\ -grMySFX
Create a self-extracting file, MySFX, in directory C:\TMP\.
gs[<size>]: Specifiy Header Search Size
UNLHA32.DLL by default will search the entire file to find a
header. When this option is specified, UNLHA32.DLL will stop
searching after the specified size.
gt[0|1]: Archive special directories
By default, UNLHA32.DLL ignores special directories in
WinSFX(32)M files.
Setting this switch will archive files in special directories.
UNLHA32.DLL by default do not extract special directories
when creating WinSFX(32)M.
Refer to section on self-extracting file in this file and
INFCOME.TXT for information of self-extracting files.
gu[0|1]: Archive all files to WinSFX,DosSFX
UNLHA32.DLL by default will not compress files into WinSFX and
DosSFX self-extracting files which have long file names.
This option will override the default and compress all files.
WARNING: Self-extracting file created with this option may
not be extractable on MS-DOS.
gw[0|1|2|3|4]: Create WinSFX32/WinSFX32M files
This option is used with 's' option to create NT self-
extracting file. '-gw2' option will suppress SFX dialog box.
'-gw3' and '-gw4' create WinSFX32M file instead of WinSFX32.
%4. Base Directory
Starting with UNLHA32.DLL ver 0.37, files in archive file may be
extracted to multiple-directories.
Specifying base directory is similar to moving the current directory
and archiving/extracting files. Multiple base directories may be
specified during file archiving.
Example:
e emelt017.exe c:\windows\system\ *.dll "c:\Program Files\" *.*
Extract files with extension DLL in WINDOWS\SYSTEM directory and
other files in PROGRAM Files directory.
Example: a archiver "c:\Program Files\" Plus!\*.* -x -r2
Set base directory to c:\Program Files and archive all files in
the Plus! directory.
If base directory is not specified, all paths will be treated as
absolute paths.
Example: a archiver "c:\Program Files\Plus!\*.*" -x -r2
The above example archives all files in the c:\Program Files\Plus!
directory.
%5. Batch File
There is a limitation to length of command line that may be passed to
UNLHA32.DLL. When many files are to be processed, batch file may be created.
Batch file is similar to MASM and LINK are prefixed by '@' character.
This character may be changed using '--' option. Content of this batch
line should be LHA command lines. Several of these command lines be
specified within one batch file. Return and line feed characters are
recognized as spaces when UNLHA32.DLL processes a batch file.
WARNING:
Batch file may not be nested. (ie. called within another batch file.)
File names starting with '@' in a batch file is only recognized as part
of a file name.
%6. Wild Card Characters
LHA.EXE Ver 2.54 and UNLHA32.DLL and above supports extended set of
characters for wild card characters.
WARNING: UNLHA32.DLL does not match '*' with '.' as is done in Unix
and LHA32.EXE.
%7. Limitation in Number of Files
Maximum number of files supported by UNLHA32.DLL
1024 Number of parameters that may be passed in a command line
2048 Number of comment characters
*1 Number of matching wild card file names
*1 Number of excluded file names
*1 Number of extensions specified by '-z' option
NOTE: *1 depends of size of memory and malloc() function
There is no limitation to number of files that may be put into an archive file.
However, number of files that may be archived at once is limited by the above
limitations.
When archiving an file, UNLHA32.DLL requires 300,000 to 500,000 bytes. If there is
not enough memory to compress in lh5 and lh6 format, UNLHA32.DLL will reduce
Huffman dictionary and buffer size to compress.
%8. Environmental Variables
a. LHA and LHARC
These variables are not longer used.
b. TMP Æ TEMP
Like the '-w' option, TEMP variables is used to specify a
temporary working directory. TMP is no longer supported.
If the directory specified as a temporary directory can not be
accessed, root directory on the drive where Windows is installed is
used as a temporary directory.
c. TZ
UNLHA32.DLL uses this variable to time stamp creation/modification
time in the archive header file. This variable MUST be set for
proper operation of UNLHA32.DLL. On Windows95/NT systems, they
will be be automatically set when Time Zone is set during Windows
installation. However, on Win32s systems, they must be manually
set in the AUTOEXEC.BAT file.
Example: set TZ=JST-9
The above example is an example for users in Japan.
TZ variable is also used when the '-h2' option is specified.
%9. Temporary Files
Temporary files are named as LHTMP000.LZH,LHTMP001.LZH - LHTMPFFF.LZH.
If a file already exists, next available file is used. (ie. temporary
files are not overwritten.)
%a 10. Header Format Supported by UNLHA32.DLL
Following headers are supported by UNLHA32.DLL.(Default: h2)
h0 LHarc compatible header
h1 Level 1 header
h2 Level 2 header
h0 header format is used by LHarc and by LArc. Because h0 limits
file name to 64 characters, it is not used too much. However,
DosSFX and WinSFX(M) still uses h0 headers so it is still supported.
h1 header format was suppose to just be a temporary format but
since this is the format supported by LHA.EXE V2.13, it has become
the defacto standard. Many MS-DOS software still only support h0 and
h1 formats.
h2 header format is the format used by most 32 bit Windows software.
This format was suppose to become the standard format. The main
difference between h0/h1 and h2 format is time stamp handling.
h0/h1 uses local time while h2 uses Greenwich time (UTC). On a
network, this becomes a real advantage to using h2 format.
h2 format also support file names and paths up to 65532 bytes.
As a consequence of these differences, h2 format is not compatible
with h0/h1 formats. If timestamp is 0, it is probably because
it is in a h2 format.
%b 11. Compression Format Supported by UNLHA.DLL
UNLHA32.DLL supports the following compression formats. lh1 is compression format
supported by LHarc while lzs, lz4, and lz5 are formats supported by Larc. UNLHA32.DLL
compression format is compatible with LHA.EXE Ver 2.67.
(*) may be created by UNLHA32.DLL
format Support description
lh0 * no compression
lh1 * 4k sliding dictionary(max 60 bytes) + dynamic Huffman
+ fixed encoding of position
lh2 8k sliding dictionary(max 256 bytes) + dynamic Huffman
lh3 8k sliding dictionary(max 256 bytes) + static Huffman
lh4 * 4k sliding dictionary(max 256 bytes) + static Huffman
+ improved encoding of position and trees
lh5 * 8k sliding dictionary(max 256 bytes) + static Huffman
+ improved encoding of position and trees
lh6 * 32k sliding dictionary(max 256 bytes) + static Huffman
+ improved encoding of position and trees
lh7 * 64k sliding dictionary(max 256 bytes) + static Huffman
+ improved encoding of position and trees
lzs 2k sliding dictionary(max 17 bytes)
lz4 no compression
lz5 4k sliding dictionary(max 17 bytes)
lh1 format is the format used by LHarc. These files may be accessed
by UNLHA32.DLL using '-o' option. It should rarely be used because
lh1 format requires more time to compress/extract files than lh4-lh7
formats. Nevertheless, small files might have a better compression
ratio.
lzs, lz4, and lz5 formats are used by LArc. It is seldom
used but it is still supported for upward compatibleness.
lh2 and lh3 formats are used by LH.EXE 1.9x. These formats are
also seldomly used nowadays.
When dictionary size is specified with the lh4 format, header
will be in lh5 format. When there is less than 4K of memory for a
Huffman dictionary, header will be in lh4 format.
lh5-lh7 are formats mostly used nowadays. Same compression algorithm
are used in these formats but they differ in a way they handle sliding
dictionary size. lh5 is the default format used by LH.EXE Ver2.00
thought LHA.EXE Ver2.55 and by LHA32.EXE Ver2.67.32.00. lh6 format is
the default format used by LHA.EXE Ver 2.60 and later. Lastly, lh7 is
not yet officially supported by LHA.EXE.
As an aside, lh6 format files may be extracted by LHA.EXE Ver 2.50
and lh7 format files may be extracted by LHA.EXE Ver 2.60. Remember,
this is extraction and not compression.
lh7 specification is still in alpha stage so it is advisable to
not use this format when distributing files. lh6 is also not very
official yet. Therefore, it is recommended to use lh5 format when
when distributing files.
There are some files which have been compressed in lh7 but with
lh6 header. There are also some files which have been compressed in
lh6 and lh7 but with lh5 header. As such, it is advisable not to
use header format to distinguish compression method.
%c 12. Self-Extracting File
Self-extracting files are executable archive files that extract files
it contains when it is executed. Example of self-extracting file is
LHA.EXE and the archive this UNLHA32.DLL was contained in.
UNLHA32.DLL can only convert archive file created by LHA.EXE and
(UN)LHA32.DLL to a self-extraction file. Three types of self-extraction
files may be created using UNLHA32.DLL.
A. Batch File
Files with name starting with a character '!' in a self-extracting
archive files are opened after being extracted. Enter 'Y' to the [Y/N]
prompt to continue extracting files. Enter 'N' to end file extraction.
Since file are extracted in archive order, it is recommeded that file
starting with '!' be archived before other files.
B. Extraction directory
Directory where files are to be extracted may be specified by
appending a directory after the self-extraction file name in the
command line. As an example, to extract files to C:\USR\ directory,
enter lha213 C:\USR. This feature is supported only by DosSFX and
WinSFXM/WinSFX32M self-extracting archives.
Furthermore, when creating a self-extracting archive that is not
DosSFX, it is possible to assign a directory where files are to be
extracted.
C. Program execution
By specifying '-!' option, '!.BAT' file is executed after extracting
all files. !.BAT file is always extracted to the current directory
regardless of whether there is a extraction directory specification.
If !.BAT file already exists in the current directory, it is overwritten
without confirmation. If !.BAT is not included in the archive, !.BAT
file is not be executed even though it may already exist in the current
directory.
Three types of self-extracting files are described below:
A. Small model - created by '-x0' option
All directory information are not preserved in the small model.
Furthermore, files are always extracted to the current directory.
Extraction directory is ignored when they are specified. Extracted
program may also not be automatically executed, but batch file may be
specified.
B. Large model - created by '-x1' option
Large model supports all options described above.
To disable creating directories during extraction, specify the '-x'
option.
Format:
<self-extraction file> [-x] [-!] [-a] [DIR]
-x : Do not create directories
-! : Execute program after extracting
-a : Preserve file attributes
DIR : Extract files to directory DIR
C. Windows model - created by '-jw' option
Windows self-extraction files can not be extracted from DOS. It is
based on Large model self-extraction file, but all extraction options
can be specified when creating a self-extracting file instead of when
the file is extracted.
Created self-extraction file is based on Mr. mH's File Manager
Extended Menu Ver 2.45.
Following options may be specified when creating a self-extraction
file.
(1) Window title
Title of a dialog box prompting for directory to extract files
that is displayed when self-extracting file is executed.
(2) Extraction directory field name
Field name of a directory to extract files in the dialog box.
(3) Default extraction directory
Default extraction directory. When not specified, files are
extracted in the directory where the self-extracting file
resides.
(4) Command line executed after extraction
Command to execute after extracting files.
(5) Recovering File Attributes
Specify whether to extract system and hidden files.
D. SFX files created using "-jw3" on Windows(WinSFXM)
WinSFXM files are basically the same as WinSFX files with
the following options and that it checks for timestamps when
extracting files.
WINSFXM.EXE [-n] [-c] [DIR]
-c : Time stamp flag
-n : Skip extraction directory prompt
DIR : Extraction directory
Following settings may also be specified when creating an WinSFXM
archive file.
(1) Execution Files
When this flag is set, self-extracting file may be created with
the '-n' option. To stop automatic execution of a file, set the
'-n-' flag.
(2) Overwrite Confirmation Message
When this flag is set, overwrite confirmation message is suppressed.
(3) Specifying Temporary Directory
If "%WORK%" variable is set, this directory will be used as a
directory to store temporary files.
NOTE: "%WinDir%" and "%SystemDir%" variables may also be defines.
(4) Specifying Windows and System Directories
Variables may be defined to direct where files are to be extracted.
WARNING: 1. Files may not be extracted to "%WORK%".
2. These variables can only be used in WinSFX(32)M.
%WinDir% Windows directory returned by GetWindowsDirectory().
%SystemDir% Windows system directory returned by
GetSystemDirectory().
E. SFX created using "-gw" on NT
SFX format supported by Windows95/NT. It is also supported on
Windows3.x system with Win32s. To support NTFS format, long file
name and h2 header format are supported.
F. SFX created using "-gw3" on NT(WinSFX32M)
Windows95/NT version of WinSFXM. It is basically similar to WinSFXM.
lh7 format is supported in this format and it is possible add to
the [Start] menu. However, extraction routine size is about 8KB.
WARNING: WinSFX32M treats "%WORK%" differently from WinSFXM.
WinSFX32M uses work directory defined by the system instead
of those defined by the variable.
Format:
WINSFX32M.EXE [-n] [-c] [DIR]
-c : Time stamp check
-n : Use default extraction directory
DIR : Default extraction directory
Furthermore, following may also be specified when using WinSFX32M:
(1) 'Program Files' Directory
When variable "%ProgramFiles%" may be used to extract to
Program Files directory defined by Windows system. On Win32s
system, files will be extracted to the root directory on the
drive where system files are installed.
Refer to INFCOME.TXT for more information.
(2) "$" Field
If file named '$' exists in the archive file, WinSFX32M will
treat it as a control file. Refer to INFCOME.TXT for more
information on using the '$' file.
(3) Verify Archive File
It is possible to specify WinSFX32M archive file to be verified
before files are extracted. When an error is encountered,
message will be displayed and extraction will be terminated.
Current version does not support this option by UnlhaCheckArchive()
and with 't' option.
WinSFXM/WinSFX32M do not support extraction of file to directory
specified by environmental variable such as "%TEMP%". This is
because MS Explorer does not recognize DOS environmental variable.s
DOS/WinSFX do not support long file names and files with spaces
simply because MS DOS and Windows3.1 does not support them.
Please use WinSFX32 when archiving such files. Self-extracting
files created by WinSFXM will convert such file names to
MS-DOS format file names.
G. Header Type Supported by Self-extracting Files
To reduce the size of self-extracting files, not all header
format are supported. Also, not all compression format are
supported.
File names are checked when converting an archive file to
WinSFX and DosSFX format but file names are not checked when
files are directly archived to a self-extracting file.
UNLHA32.DLL will automatically convert header information and
compression format when header and compression is not supported
as self-extracting format. However, if 'S' option is specified,
files in the self-extracting archive are that are in
non-supported format will be deleted when fi
- File Headers Supported by Self-extracting Files:
SFX_DOS_213S h0
SFX_DOS_250S h0
SFX_DOS_265S h0
SFX_DOS_213L h0
SFX_DOS_250L h0
SFX_DOS_265L h0
SFX_WIN16_213_1 h0
SFX_WIN16_213_2 h0
SFX_WIN16_213_3 h0
SFX_WIN16_250_1 h0
SFX_WIN16_255_1 h0
SFX_WIN32_213_1 h2
SFX_WIN32_213_3 h2
SFX_WIN32_250_1 h2
SFX_WIN32_250_6 h2
SFX_LZHSFX_1002 h2
SFX_LZHSFX_1100 h2
SFX_LZHAUTO_0002 h2
SFX_LZHAUTO_1002 h2
SFX_LZHAUTO_1100 h2
- Compression format supported by self-extracting files
SFX_DOS_213S lh0,lh4,lh5
SFX_DOS_250S lh0,lh4〜lh6
SFX_DOS_265S lh0,lh4〜lh7
SFX_DOS_213L lh0,lh4,lh5
SFX_DOS_250L lh0,lh4〜lh6
SFX_DOS_265L lh0,lh4〜lh7
SFX_WIN16_213_1 lh0,lh4,lh5
SFX_WIN16_213_2 lh0,lh4〜lh6
SFX_WIN16_213_3 lh0,lh4〜lh7,lhd
SFX_WIN16_250_1 lh0,lh4〜lh6,lhd
SFX_WIN16_255_1 lh0,lh4〜lh7,lhd
SFX_WIN32_213_1 lh0,lh4〜lh6
SFX_WIN32_213_3 lh0,lh4〜lh7,lhd
SFX_WIN32_250_1 lh0,lh4〜lh7
SFX_WIN32_250_6 lh0,lh4〜lh7,lhd
SFX_LZHSFX_1002 lh0,lh4〜lh6,lhd
SFX_LZHSFX_1100 lh0,lh4〜lh7,lhd
SFX_LZHAUTO_0002 lh0,lh4〜lh6
SFX_LZHAUTO_1002 lh0,lh4〜lh6,lhd
SFX_LZHAUTO_1100 lh0,lh4〜lh7,lhd
==========================================================================
Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.