LHA/LHarc self-extracting archive

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Identification)
m (Identification)
 
(One intermediate revision by one user not shown)
Line 41: Line 41:
  
 
{| class="wikitable"
 
{| class="wikitable"
! Software !! Exec. format !! Versions !! Model !! Offset !! Message begins... !! Remarks
+
! Software !! Exec. format !! Model !! Offset !! Message begins... !! Remarks
 
|-
 
|-
|LHarc   || DOS COM   || 1.00      ||        || 6   || "<code>SFX of LHarc</code>"
+
|rowspan="2"|LHarc 1.00 || DOS COM || || 6 ||rowspan="2"| "<code>SFX of LHarc</code>"
 
|-
 
|-
|LHarc  || DOS COM    || 1.12-1.13 ||        || 6   || "<code>LHarc's SFX</code>"
+
|DOS EXE ||  || 38
 
|-
 
|-
|LHice  || DOS COM   || 1.14      ||        || 6   || "<code>LHice's SFX</code>" || [[LHice]] is fake, but it exists.
+
|rowspan="3"|LHarc 1.12-1.13d || DOS COM || || 6 ||rowspan="3"| "<code>LHarc's SFX</code>"
 
|-
 
|-
|LHARC  || DOS COM    || 1.14β    ||        || 6  || "<code>LHARC SFX</code>" || LHARC 1.14β is probably fake, but it exists.
+
|DOS EXE || S || 38
 
|-
 
|-
|LHarc  || DOS EXE   || 1.00      ||        || 38  || "<code>SFX of LHarc</code>"
+
|DOS EXE || L || 37
 
|-
 
|-
|LHarc  || DOS EXE    || 1.12-1.13 || S      || 38  || "<code>LHarc's SFX</code>"
+
|rowspan="3"|LHice || DOS COM || || 6 ||rowspan="3"| "<code>LHice's SFX</code>" ||rowspan="3"| [[LHice]] is illegitimate, but it exists.
 
|-
 
|-
|LHice  || DOS EXE   || 1.14      || S     || 38 || "<code>LHice's SFX</code>"
+
|DOS EXE || S || 38
 
|-
 
|-
|LHARC  || DOS EXE   || 1.14β    || S      || 38  || "<code>LHARC SFX</code>"
+
|DOS EXE || L || 37
 
|-
 
|-
|LHarc  || DOS EXE    || 1.12-1.13 || L      || 37 || "<code>LHarc's SFX</code>"
+
|rowspan="3"|LHARC 1.14β || DOS COM ||  || 6 ||rowspan="3"| "<code>LHARC SFX</code>" ||rowspan="3"| LHARC 1.14β is illegitimate, but it exists.
 
|-
 
|-
|LHice  || DOS EXE   || 1.14      || L      || 37  || "<code>LHice's SFX</code>"
+
|DOS EXE || S || 38
 
|-
 
|-
|LHARC  || DOS EXE   || 1.14β    || L     || 37 || "<code>LHARC SFX</code>"
+
|DOS EXE || L || 37
 
|-
 
|-
|LHa     || DOS EXE   || 2.05      || S or L || 36  || "<code>LH's SFX</code>"
+
|LHa 2.05          || DOS EXE || S or L || 36  || "<code>LH's SFX</code>"
 
|-
 
|-
|LHa/LHA || DOS EXE    || 2.06-2.10 || S or L || 36  || "<code>LHa's SFX</code>"
+
|LHa/LHA 2.06-2.10 || DOS EXE || S or L || 36  || "<code>LHa's SFX</code>"
 
|-
 
|-
|LHA     || DOS EXE    || 2.11-2.66 || S or L || 36  || "<code>LHA's SFX</code>"
+
|LHA 2.11-2.66     || DOS EXE || S or L || 36  || "<code>LHA's SFX</code>"
 
|}
 
|}
  
 
== Software ==
 
== Software ==
 
Refer to [[LHA#Software]], especially the main LHarc/LHA software.
 
Refer to [[LHA#Software]], especially the main LHarc/LHA software.

Latest revision as of 15:54, 5 February 2023

File Format
Name LHA/LHarc self-extracting archive
Ontology
Extension(s) special
Released ≤1989

LHA/LHarc self-extracting archive refers to the various self-extracting archive formats associated with the LHarc/LHA family of compressed archive utilities.

Refer to LHA for information about the underlying archive format.

This article primarily covers files for the DOS platform. (TODO: Other platforms.)

Note that some relatives of LHA, such as LArc and PMA, have self-extracting archive formats that are not covered here.

The usual manner of creating a self-extracting archive is to first create a normal (.LZH/.LHA) archive, then run the software on that non-executable archive using the "s" function.

Contents

[edit] Format details

LHarc v1.x can create archives in either COM or EXE format. LHA v2.x only supports EXE format.

Starting with v1.12, EXE files can be structured in two different ways: "Small model" (the default), or "Large model". Large model is selected by using the /x (v1.x) or /x1 (v2.x) option.

[edit] Special filenames

  • ! (versions ~1.13+)

If a self-extracting file contains a member file named "!", that file will be displayed as text prior to extraction, with a prompt to continue. The documentation names this feature "telop".

  • AUTOLARC.BAT (versions through ~1.12)

If a self-extracting file contains a member file named "AUTOLARC.BAT", the BAT file will be executed after the files are extracted.

  • AUTOLARC.BAT (1.x versions ~1.13+)

A self-extracting file can optionally be created such that, if the end user supplies a customizable keyword on the command line, a member file named "AUTOLARC.BAT" will be executed after the files are extracted.

  • !.BAT (2.x versions)

If a self-extracting file contains a member file named "!.BAT", and the end user uses the special "/!" or "-!" option, the BAT file will be executed after the files are extracted. [Ed. note: Or so says the documentation. Confirmation needed.]

[edit] Identification

LHarc/LHA self-extracting archives contain a text message that will be printed when the files are extracted, which could be useful for format identification. Unfortunately, the message is not consistently located or formatted.

An example of such a message is "LHarc's SFX 1.13S (c) Yoshi, 1989". It contains a version number (which may only be approximate), and usually an "S" or "L" suffix indicating Small or Large model.

The following table summarizes most of the DOS formats.

Software Exec. format Model Offset Message begins... Remarks
LHarc 1.00 DOS COM 6 "SFX of LHarc"
DOS EXE 38
LHarc 1.12-1.13d DOS COM 6 "LHarc's SFX"
DOS EXE S 38
DOS EXE L 37
LHice DOS COM 6 "LHice's SFX" LHice is illegitimate, but it exists.
DOS EXE S 38
DOS EXE L 37
LHARC 1.14β DOS COM 6 "LHARC SFX" LHARC 1.14β is illegitimate, but it exists.
DOS EXE S 38
DOS EXE L 37
LHa 2.05 DOS EXE S or L 36 "LH's SFX"
LHa/LHA 2.06-2.10 DOS EXE S or L 36 "LHa's SFX"
LHA 2.11-2.66 DOS EXE S or L 36 "LHA's SFX"

[edit] Software

Refer to LHA#Software, especially the main LHarc/LHA software.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox