Elle intègre un module de fichier exécutable, module utilisé pour exécuter des fichiers non compressés à partir de fichiers compressés. Un tel fichier compressé ne nécessite pas un programme externe pour décompresser le contenu du fichier auto-extractible, et il peut exécuter l’opération lui-même. Cependant, les archiveurs de fichiers comme WinRAR peuvent toujours traiter les fichiers auto-extractibles comme n’importe quel autre fichier compressé. Les utilisateurs qui ne veulent pas exécuter le fichier auto-extractible qu’ils ont reçu (par exemple, lorsqu’il peut contenir un virus) peuvent utiliser l’archiveur de fichiers pour visualiser ou décompresser son contenu sans exécuter de code exécutable.
Lors de l’exécution d’une archive auto-extractible sous un système d’exploitation qui la prend en charge, le contenu de l’archive est extrait et stocké sous forme de fichiers sur le disque. Souvent, l’auto-extracteur intégré prend en charge un certain nombre d’arguments de ligne de commande pour contrôler le comportement, c’est-à-dire pour spécifier l’emplacement cible ou sélectionner uniquement des fichiers spécifiques à extraire.
Les archives non auto-extractibles contiennent uniquement les fichiers archivés et doivent donc être extraites avec un programme compatible. Les archives auto-extractibles ne peuvent pas s’auto-extraire sous un autre système d’exploitation, mais le plus souvent, elles peuvent encore être ouvertes avec un extracteur approprié, car cet outil ne tiendra pas compte de la partie exécutable du fichier et n’extraira à la place que la ressource de l’archive. Dans certains cas, cela nécessite de renommer l’exécutable auto-extractible pour qu’il porte une extension de fichier associée à l’encapsuleur correspondant. Les fichiers auto-extractibles ont généralement une extension .exe comme les autres fichiers exécutables.
Par exemple, une archive peut s’appeler somefiles.zip – elle peut être ouverte sous n’importe quel système d’exploitation par un gestionnaire d’archives approprié qui supporte à la fois le format de fichier et l’algorithme de compression utilisés. Elle peut également être convertie en somefiles.exe qui s’auto-extracte sur une machine fonctionnant sous Microsoft Windows sans avoir besoin d’un gestionnaire d’archives approprié. Il ne s’auto-extracte pas sous Linux, mais peut être ouvert avec un gestionnaire d’archives Linux approprié.
Il existe plusieurs formats de fichiers d’archives fonctionnellement équivalents mais incompatibles, notamment ZIP, RAR, 7z et bien d’autres. Certains programmes ne peuvent gérer (créer, extraire ou modifier) qu’un seul type d’archive alors que de nombreux autres peuvent gérer plusieurs formats. Il existe en outre une distinction entre le format de fichier et l’algorithme de compression utilisé. Un format de fichier unique, tel que 7z, peut prendre en charge plusieurs algorithmes de compression différents, notamment LZMA, LZMA2, PPMd et BZip2. Pour qu’un utilitaire de décompression puisse développer correctement une archive, qu’elle soit auto-extractible ou standard, il doit être capable de fonctionner à la fois sur le format de fichier et l’algorithme utilisés. Le code exécutable exact placé au début d’une archive auto-extractible peut donc devoir être modifié en fonction des options utilisées pour créer l’archive. Les routines de décompression seront différentes pour une archive LZMA 7z par rapport à une archive LZMA2 7z, par exemple.
Plusieurs programmes peuvent créer des archives auto-extractibles. Pour Windows, il y a WinZip, WinRAR, 7-Zip, WinUHA, KGB Archiver, Make SFX, l’assistant intégré IExpress et bien d’autres, certains expérimentaux. Pour Macintosh, il y a StuffIt, The Unarchiver, et 7zX. Il existe également des programmes qui créent des archives auto-extractibles sous Unix sous forme de scripts shell qui utilisent des programmes comme tar et gzip (qui doivent être présents dans le système de destination). D’autres (comme 7-Zip ou RAR) peuvent créer des archives auto-extractibles en tant qu’exécutables réguliers au format ELF. Un premier exemple d’archive auto-extractible était l’archive shar d’Unix dans laquelle un ou plusieurs fichiers texte étaient combinés en un script shell qui, lorsqu’il était exécuté, recréait les fichiers originaux.
Les archives auto-extractibles peuvent être utilisées pour archiver un nombre quelconque de données ainsi que des fichiers exécutables. Elles doivent être distinguées de la compression d’exécutables, où le fichier exécutable ne contient qu’un seul exécutable et où l’exécution du fichier n’entraîne pas le stockage du fichier non compressé sur le disque, mais l’exécution de son code en mémoire après décompression.