========================================================================== 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.