Fichier auto-extractible avec 7Zip et 7zSfx_Tools

dimanche 8 mars 2009.
 

Situation de départ

Nous possédons un CD-Rom contenant les répertoires et fichiers nécessaires à l’installation d’un programme librement diffusable. Exemple : le CD de la Bible des Peuples contient plein de répertoires et de fichiers dont l’exécutable qui permet de démarrer l’installation, F :\Install.exe

But à atteindre

Nous voulons fabriquer un seul fichier .EXE contenant tout ce qui se trouve sur le CD. Notre but est de pouvoir diffuser ce fichier unique qui permettra à toute personne d’installer la Bible des Peuples sans disposer du CD.

Logiciels requis

a) Aller sur http://7zsfx.solta.ru/en/download.html puis télécharger et installer 7z SFX Tools (7z SFX archive).
b) Aller sur http://www.angusj.com/resourcehacker/ puis télécharger et installer Resource Hacker (Europe - Zip File 541kb).
c) Il est nécessaire de disposer d’un éditeur de texte qui supporte l’encodage UTF-8 des fichiers comme NotePad++.

Etapes à suivre

a) Créer un répertoire de travail C :\temp\BDP qui contiendra les trois fichiers requis pour créer l’archive auto-extractible (+ le fichier .BAT permettant d’assembler les trois fichiers en un seul) :

b) En utilisant 7Zip, compacter tout le contenu du CD de la Bible des Peuples en une seule archive : C :\temp\BDP\BibleDP_contenu_CDrom.7z

c) En utilisant l’éditeur de texte, créer un fichier C :\temp\BDP\BibleDP_config_UTF8.txt encodé en UTF-8 avec le contenu exemple suivant :


;!@Install@!UTF-8!
Title="Bible des Peuples"
BeginPrompt="Cette archive contient l'installation de la Bible des Peuples v04.04.\n\nVoulez-vous ouvrir cette archive et lancer l'installation ?"
ExtractDialogText="Veuillez patienter, s'il vous plait..."
Progress="yes"
ExtractTitle="Bible des Peuples : extraction en cours..."
GUIFlags="1+4+8+16+32+2048+4096"
GUIMode="1"
OverwriteMode="2"
RunProgram="\"%%T\\Install.exe\""
;!@InstallEnd@!

Pour adapter ces paramètres, rendez-vous dans la section « Configuration file parameters » de l’aide de 7zSfx_Tools.

d) Récupérer le fichier 7ZSD_All.sfx dans le répertoire d’installation de 7zSfx_Tools.

e) Avec l’éditeur de texte, créer le fichier de commande C :\temp\BDP\creer_BibleDesPeuples_install.bat qui va “souder” les trois fichiers en une seule archive auto-extractible :


copy /b 7ZSD_All.sfx + BibleDP_config_UTF8.txt + BibleDP_contenu_CDrom.7z BibleDesPeuples_install.exe

f) Lancer la “soudure” en double-cliquant sur le fichier de commande puis tester si l’archive auto-extractible produite BibleDesPeuples_install.exe se comporte de la manière attendue.

g) Accessoirement, il est possible de modifier l’icône affichée par les boites de dialogue pendant l’installation en suivant la méthode indiquée dans l’aide des 7zSfx_Tools à la section « Replacing 7z SFX archive icon ».

NB : Il est possible de retrouver les trois fichiers utilisés pour créer une archive auto-extractive grâce à l’outil 7ZSplit.exe des 7zSfx_Tools. Appliqué à l’auto-extractible d’installation de 7zSfx_Tools lui-même, il fournit un fichier 7zSfx_Tools.sfx dont les icônes (même celle du fichier .EXE) sont toutes remplaçables avec la méthode indiquée à la section « Replacing 7z SFX archive icon » de l’aide de 7zSfx_Tools.


exemple de BAT pour créer archive auto-extractible
.ico, .bat et .txt de l’exemple pris par cet article
7zSfx_Tools.exe exemple des trois fichiers
Trois fichiers obtenus par split de l’archive auto-extractible 7zSfx_Tools.exe

Forum