圧縮ファイルから解凍したファイルを実行するためのモジュールである実行ファイルモジュールを組み込んでいます。 このような圧縮ファイルは、自己解凍ファイルの内容を解凍するための外部プログラムを必要とせず、それ自身で操作を実行することができます。 しかし、WinRARのようなファイル・アーカイバーは、自己解凍ファイルを他の圧縮ファイルと同様に扱うことができます。 受け取った自己解凍ファイルを実行したくないユーザー (たとえば、ウイルスが含まれている可能性がある場合) は、ファイル アーカイバを使用して、実行コードを実行せずに内容を表示または解凍できます。
自己解凍アーカイブをサポートするオペレーティング システムで実行すると、アーカイブ内容が抽出されてディスク上にファイルとして保存されます。 多くの場合、組み込まれた自己展開ツールは、ターゲット位置を指定したり、抽出される特定のファイルのみを選択するなど、動作を制御するための多くのコマンドライン引数をサポートしています。 自己解凍型アーカイブは、異なるオペレーティング システムでは自己解凍できませんが、ほとんどの場合、適切な解凍ツールで開くことができます。このツールは、ファイルの実行可能部分を無視し、代わりにアーカイブ リソースのみを解凍します。 この場合、自己解凍された実行ファイルの名前を変更して、対応するパッカーに関連付けられたファイル拡張子を保持する必要がある場合があります。
たとえば、アーカイブは somefiles.zip と呼ばれるかもしれません – それは、使用されるファイル形式と圧縮アルゴリズムの両方をサポートする適切なアーカイブ マネージャによって、どのオペレーティング システムでも開くことができます。 これは、適切なアーカイブ マネージャーを必要とせずに、Microsoft Windows を実行しているマシン上で自己展開します。 Linux では自己展開しませんが、適切な Linux アーカイブ マネージャで開くことができます。
ZIP や RAR、7z、その他多くの、機能的には同等だが互換性のないアーカイブ ファイル形式がいくつかあります。 プログラムによっては、1 種類のアーカイブしか管理 (作成、展開、変更) できないものもありますが、複数の形式を扱えるものも多くあります。 さらに、使用するファイル形式と圧縮アルゴリズムにも区別があります。 7z のような単一のファイル形式は、LZMA、LZMA2、PPMd、BZip2 などの複数の異なる圧縮アルゴリズムをサポートすることができます。 自己解凍型または標準型のアーカイブを正しく展開する解凍ユーティリティは、使用されるファイル形式とアルゴリズムの両方で動作する必要があります。 したがって、自己解凍型アーカイブの先頭に置かれる正確な実行コードは、アーカイブを作成するために使用されたオプションに応じて変更する必要があるかもしれません。 たとえば、LZMA 7z アーカイブと LZMA2 7z アーカイブでは、解凍ルーチンが異なるでしょう。 Windows では、WinZip、WinRAR、7-Zip、WinUHA、KGB Archiver、Make SFX、内蔵の IExpress ウィザード、その他多くのものがあり、いくつかは実験的なものです。 Macintosh には StuffIt、The Unarchiver、7zX があります。 また、Unix 上でシェルスクリプトとして自己解凍型アーカイブを作成するプログラムもあり、tar や gzip のようなプログラムを利用します(これらはインストール先のシステムに存在している必要があります)。 その他にも (7-Zip や RAR のように) ELF フォーマットの通常の実行ファイルとして自己解凍型アーカイブを作成することができます。 自己展開アーカイブの初期の例は Unix の shar アーカイブで、1 つ以上のテキストファイルをシェルスクリプトに結合し、実行時に元のファイルを再作成するものでした。 実行ファイルが単一の実行ファイルのみを含み、ファイルを実行しても解凍されたファイルはディスクに保存されず、解凍後にメモリ内でそのコードが実行される実行ファイル圧縮と区別する必要があります。