Création d'un exécutable SelF eXtracting archives, ou SFX

Un exécutable SFX est un fichier compressé qui se décompresse et exécute un programme automatiquement. La plupart des logiciels ont uune option d'installation silencieuse. L'intérêt du SFX est l'exécution de script ou l'enchaînement de plusieurs installations qui seront réunies dans un seul exécutable. Il y a plusieurs outils pour cela dont PowerArchiver et 7zip. Nous allons utiliser 7zip.

Logiciels requis.

  • Il faut au moins 7z.exe et 7zCon.sfx (ou 7z.sfx), le plus simple est d'installer 7zip complet.
  • un SFX builder d'installé. Il en existe au moins 2: 7-Zip_SFX_Maker et 7z.SFX.Builder
  • un fichier compressé au format 7z du dossier contenant le programme à créer.

La méthode

Obtenir une archive 7z

Il faut créer une archive 7z avec 7zip du répertoire du (des) programme(s) à créer. C'est le seul format de compression qui est supporté. On va générer par example Microsoft Office 2016 en mode installation administrative.

Note pour la suite,

pour installer Office la commande sera:
    setup.exe /adminfile reponseFile.msp

Création du SFX

Remarque: Je ne détaille pas les personnalisations de l'exécutable crée (icone, info de version et auteur…)

On utilisera 7z.SFX.Builder, les interfaces graphiques évitent juste de le faire à la main!

Dans l'onglet Main,

Le GUI mode permet de déterminer le niveau d'affichage, ici c'est le mode silencieux.

Extraction Path est l'endroit ou sera décompresser le SFX. Le TempMode permet de décompresser dans %TMP% dans un répertoire temporaire qui sera supprimé après l'installation.

L'option Delete SFX file… permet de supprimer le fichier exécutable (SFX) même après sa décompression dans l'Extraction Path.

L'onglet Run défini quel(s) programme(s) doit être lancé une fois le SFX décompressé. ATTENTION si le répertoire ou chemin contient des espaces il faut mettre en double quote précédé du caractère d'échappement backslash (\“)

REMARQUE ici le %%T fait référence à “TempMode”, sinon il faudrait le remplace par ce qui a été entré dans “Extraction Path”

Vous devez renseigner le fichier 7z de votre répertoire programme que vous avez compressez avec 7zip.

Pour le module, vous pouvez donner celui que vous voulez. Mais le 7zsd_All_x64.sfx (pour x64) de SFX Builder marche bien (voir image)

Laissez l'icone vide si vous n'en avez pas.

Cliquez sur “Make SFX”

Et voilà !!!

Testez votre SFX.

Divers

une autre solution: ALZip de ALTools (serial “EVZC-GBBD-Q3V3-DAD3”, download ), le taille du SFX généré est plus gros qu'avec 7zip avec les options par défaut (zip). Autres formats de compression non testés.

Dernière modification: le 2017/10/07