Self-extracting ZIP

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Created page with "{{FormatInfo |formattype=electronic |subcat=Archiving |extensions={{ext|exe}}, others }} '''Self-extracting ZIP''' is a family of a executable/ZIP hybrid f...")
 
(Sample files)
 
(8 intermediate revisions by one user not shown)
Line 4: Line 4:
 
|extensions={{ext|exe}}, others
 
|extensions={{ext|exe}}, others
 
}}
 
}}
'''Self-extracting ZIP''' is a family of a [[Executables|executable]]/[[ZIP]] hybrid formats. If the file is compatible with your operating system, it can be run as an executable, and it will extract the files contained in it.
+
'''Self-extracting ZIP''' is a family of a [[Executable envelopes|executable]]/[[ZIP]] hybrid formats. On a compatible operating system, such a file can be executed, and it will extract the files contained in it.
  
Alternatively, it can (usually) be opened as if it were a ZIP file, even on an incompatible operating system. Renaming the file to end in ".zip" may make this easier, but should not be necessary.
+
Alternatively, it can usually be processed as if it were a ZIP file, even on an incompatible operating system. Renaming the file to end in ".zip" may make this easier.
 +
 
 +
== Format details ==
 +
A self-extracting ZIP archive usually consists of an "executable stub" segment, followed by the part of the file containing the ZIP-formatted data.
 +
 
 +
In [[EXE]]-based formats, the ZIP data is usually placed in the "overlay" segment (refer to [[MS-DOS EXE#Special file positions]]). So, signature bytes <code>'P' 'K' 0x03 0x04</code> usually appear at the start of the overlay segment, sometimes after a padding byte.
 +
 
 +
=== DOS files made by PKZIP ===
 +
Most versions of [[PKZIP]] for DOS include a ZIP2EXE.EXE utility that converts a ZIP file to a self-extracting archive. The files it creates can perhaps be put into four classes:
 +
# The format made by PKZIP 0.90 to 1.02. Creating such files involves a convoluted method whereby the executable stub is copied from the original distribution file (e.g. PKZ090.EXE). The user must enable the feature by using the included MAKESFX.COM utility to generate the not-included PKSFX.PRG file required by ZIP2EXE.EXE. Every self-extracting EXE then begins with the bytes in PKSFX.PRG.
 +
# The "standard" format made by v1.10. The executable stub seems to be significantly different from earlier versions. Also, as of v1.10, the MAKESFX.COM method is no longer used.
 +
# The "standard" format made by v2.04c and higher. The executable stub is pre-compressed with [[PKLITE]].
 +
# The "PKSFXjr" format supported by v1.10+, selected using ZIP2EXE's <code>-j</code> option. This is also known as "Mini" or "Junior" format. PKSFXjr files have a smaller size overhead, but limited features. Only a single compression method is supported (Implode or Deflate, depending on the version).
 +
 
 +
== Software ==
 +
* [[PKZIP]]
  
 
== Sample files ==
 
== Sample files ==
* http://cd.textfiles.com/vgaspectrum/animate/zip/
+
Various:
* http://cd.textfiles.com/swinnund/disk3/CLIPART/
+
* {{CdTextfilesURL|vgaspectrum/animate/zip/}}
 +
* {{CdTextfilesURL|swinnund/disk3/CLIPART/}}
 +
 
 +
Files made by ZIP2EXE from PKZIP:
 +
* v1.01-1.02: (Note: Versions 1.01 and 1.02 produce identical files, reporting version number "1.01".)
 +
** {{CdTextfiles|smsharew/FINANCE/INVENT.ZIP|INVENT.ZIP}} → *.EXE
 +
** {{CdTextfiles|smsharew/GAMES2/VICTOR2.ZIP|VICTOR2.ZIP}} → *.EXE
 +
* v1.10
 +
** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/FOODS/QBOOK100.ZIP|QBOOK100.ZIP}} → SAMPLEDB.EXE
 +
** {{CdTextfiles|libris/COMMUNIC/NETWORKI/3172.ZIP|3172.ZIP}} → AUTOM.EXE
 +
* v1.10, export version
 +
** {{CdTextfiles|libris/BUSINESS/CLIENT_M/3470.ZIP|3470.ZIP}} → CT1.EXE
 +
** {{CdTextfiles|libris/ENGINEER/3360.ZIP|3360.ZIP}} → TALKER.EXE
 +
* v2.04c shareware
 +
** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/TRAVEL/FFLYER60.ZIP|FFLYER60.ZIP}} → FFLYER.EXE
 +
** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/LINGSTCS/ENTSPN13.ZIP|ENTSPN13.ZIP}} → SMGLOB.EXE
 +
* v2.04c registered
 +
** [https://archive.org/details/Power_DOS_CD-ROM_Walnut_Creek_July_1995] → GAMES/PATCHES/HPATPG13.ZIP → HELL2.EXE
 +
** [https://archive.org/details/So_Much_Shareware_5_CD-ROM_Power_User_Software_1995] → PRINTING/BBSPLV30.ZIP → UNZIPME.EXE
 +
* v2.04c/e/g, "mini" format: (Note: Shareware v2.04c/e/g, and apparently registered 2.04c/e, all produce identical "mini" files, reporting version number "2.04c". A file containing "2.04g" is likely from a registered version of v2.04g.)
 +
** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/GRAPHICS/TXPNT18.ZIP|TXPNT18.ZIP}} → TXPNT18.EXE
 +
* v2.04e shareware
 +
** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/EDITOR/NTUIT310.ZIP|NTUIT310.ZIP}} → NTUIT310.EXE
 +
** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/MAILNEWS/UKAPP151.ZIP|UKAPP151.ZIP}} → YARN.EXE
 +
* v2.04e registered
 +
** [https://archive.org/details/So_Much_Shareware_5_CD-ROM_Power_User_Software_1995] → EDUCATE/CONST10.ZIP → CONST101.EXE, EDUCATE/MOG20.ZIP → MOG201.EXE
 +
* v2.04g shareware
 +
** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/DISKUTIL/DKCARE40.ZIP|DKCARE40.ZIP}} → DISK.EXE
 +
** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/GRAPHICS/3D_LAND.ZIP|3D_LAND.ZIP}} → 3DLAND_A.EXE
 +
* v2.04g shareware, "Shareware Marketing" edition
 +
** {{CdTextfiles|simtel/simtel9703/disk2/DISC2/SYSUTL/DOS94_01.ZIP|DOS94_01.ZIP}} → DOS94-01.EXE
 +
* v2.04g registered
 +
** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/DISKUTIL/FSAVE11.ZIP|FSAVE11.ZIP}} → ZIPSPL12.EXE
 +
** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/RECREATN/BIOD204B.ZIP|IOD204B.ZIP}} → Bio.exe
 +
* v2.04g registered, "Shareware Marketing" edition
 +
** [https://archive.org/details/So_Much_Shareware_5_CD-ROM_Power_User_Software_1995] → FINANCE/FTTLV500.ZIP → HJS.EXE
 +
* v2.04g registered, "mini" format
 +
** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/HAMRADIO/LOGEQF83.ZIP|LOGEQF83.ZIP}} → LOGEQF.EXE
  
 
== Links ==
 
== Links ==
 
* [[Wikipedia:Self-extracting archive|Wikipedia: Self-extracting archive]]
 
* [[Wikipedia:Self-extracting archive|Wikipedia: Self-extracting archive]]
 +
 +
[[Category:ZIP based file formats]]

Latest revision as of 16:35, 16 November 2024

File Format
Name Self-extracting ZIP
Ontology
Extension(s) .exe, others

Self-extracting ZIP is a family of a executable/ZIP hybrid formats. On a compatible operating system, such a file can be executed, and it will extract the files contained in it.

Alternatively, it can usually be processed as if it were a ZIP file, even on an incompatible operating system. Renaming the file to end in ".zip" may make this easier.

Contents

[edit] Format details

A self-extracting ZIP archive usually consists of an "executable stub" segment, followed by the part of the file containing the ZIP-formatted data.

In EXE-based formats, the ZIP data is usually placed in the "overlay" segment (refer to MS-DOS EXE#Special file positions). So, signature bytes 'P' 'K' 0x03 0x04 usually appear at the start of the overlay segment, sometimes after a padding byte.

[edit] DOS files made by PKZIP

Most versions of PKZIP for DOS include a ZIP2EXE.EXE utility that converts a ZIP file to a self-extracting archive. The files it creates can perhaps be put into four classes:

  1. The format made by PKZIP 0.90 to 1.02. Creating such files involves a convoluted method whereby the executable stub is copied from the original distribution file (e.g. PKZ090.EXE). The user must enable the feature by using the included MAKESFX.COM utility to generate the not-included PKSFX.PRG file required by ZIP2EXE.EXE. Every self-extracting EXE then begins with the bytes in PKSFX.PRG.
  2. The "standard" format made by v1.10. The executable stub seems to be significantly different from earlier versions. Also, as of v1.10, the MAKESFX.COM method is no longer used.
  3. The "standard" format made by v2.04c and higher. The executable stub is pre-compressed with PKLITE.
  4. The "PKSFXjr" format supported by v1.10+, selected using ZIP2EXE's -j option. This is also known as "Mini" or "Junior" format. PKSFXjr files have a smaller size overhead, but limited features. Only a single compression method is supported (Implode or Deflate, depending on the version).

[edit] Software

[edit] Sample files

Various:

Files made by ZIP2EXE from PKZIP:

  • v1.01-1.02: (Note: Versions 1.01 and 1.02 produce identical files, reporting version number "1.01".)
  • v1.10
  • v1.10, export version
  • v2.04c shareware
  • v2.04c registered
    • [1] → GAMES/PATCHES/HPATPG13.ZIP → HELL2.EXE
    • [2] → PRINTING/BBSPLV30.ZIP → UNZIPME.EXE
  • v2.04c/e/g, "mini" format: (Note: Shareware v2.04c/e/g, and apparently registered 2.04c/e, all produce identical "mini" files, reporting version number "2.04c". A file containing "2.04g" is likely from a registered version of v2.04g.)
  • v2.04e shareware
  • v2.04e registered
    • [3] → EDUCATE/CONST10.ZIP → CONST101.EXE, EDUCATE/MOG20.ZIP → MOG201.EXE
  • v2.04g shareware
  • v2.04g shareware, "Shareware Marketing" edition
  • v2.04g registered
  • v2.04g registered, "Shareware Marketing" edition
    • [4] → FINANCE/FTTLV500.ZIP → HJS.EXE
  • v2.04g registered, "mini" format

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox