Sur Windows, lorsque vous souhaitez installer une nouvelle application sur votre ordinateur, vous devez télécharger et exécuter le programme d’installation ou installeur de celle-ci, que l’on nomme en anglais le Setup.
Ce dossier vous explique en quoi consiste ces installeurs, les différents formats d’installeur.
Quelques problèmes d’installation et désinstallation pourront aussi être évoqués dans ce dossier.
Présentation
Les installeurs ou Setup en anglais sont des programmes spécialisés dans l’installation de logiciels.
Ces installeurs sont des packages ou paquets qui se présentent sous la forme d’un seul fichier qui peut être assez volumineux selon la taille de l’application à installer.
Un utilisateur qui souhaite installer la dite application télécharge ce dernier et exécute l’installeur sur son ordinateur qui se charge d’exécuter le processus d’installation.
Les installeurs se présentent sous la forme de fichiers .exe ou .msi
Le but de ces installeurs est donc d’avoir un processus d’installation uniformisé, que ce soit au niveau des écrans de l’assistant d’installation, que du résultat final en terme informatique, à savoir respecter la structure des dossiers de la partition C de Windows (par exemple proposer d’installer l’application dans C:\Program Files).
Ainsi les éditeurs de logiciels n’auront pas à coder entièrement tout le processus d’installation et pourront s’appuyer sur des logiciels tout fait, qui va grandement leur faciliter la création des packages d’installation. Des vérifications seront aussi proposées par défaut, comme vérifier l’espace disque disponible par exemple.
Enfin ces programmes d’installation permettent aussi de créer un désinstaller qui permettra à l’utilisateur de supprimer l’application de Windows.
Voici une capture d’écran de l’interface de développement des installeurs InstallShield :
Ainsi, le Setup , de manière générale peut :
- Vérifier la configuration générale de Windows et indiquer si l’installation est nécessaire. Par exemple, si l’application ne fonctionne que sur Windows 7 SP1 et que le service Pack 1 n’est pas installé, un message peut indiquer que la version minimale de Windows n’est pas présente. Ou encore que l’Espace disque minimum requis sur le disque dur est bien présent.
- Vérifier que l’environnement nécessaire est bien présent. S’assurer que les packages tiers nécessaires soient bien présents. Par exemple, si l’application est en .NET Framework 4 et que ce dernier n’est pas installé, le programme d’installation peut proposer son installation ou indiquer que ce dernier soit nécessaire sans aller plus loin. De même pour les Visual Basic C++ Runtime
- Copier les programmes de l’application souvent dans un dossier spécifique et générique, comme : C:\Program Files (x86)\Editeur\nom de l’application.
- Créer les clés du registre Windows contenant les données générales de l’application, souvent dans HKEY_LOCAL_MACHINE\Software\Editeur\NomApplication
- Créer les icônes de lancement sur le bureau et dans le menu Démarrer de Windows
- Copier et créer l’environnement utilisateur en copiant les donnés qui vont bien dans les dossiers C:\Program Data et %APPDATA% (bien que ce dernier peut aussi être créé lors du premier lancement de l’application)
- Inscrire et enregistrer l’application comme installé dans Windows afin que celle-ci soit présent dans la liste des programmes installés de Windows. Ainsi, l’application pourra être désinstallé en lançant le programme de désinstallation qui s’appuie sur ce package d’installation.
Si le point 2 n’est pas correctement réalisée, au lancement de l’application, vous pouvez obtenir un message d’erreur indique que XXXX.DLL est manquant.
Si le programme d’installation ne peut se lancer ou s’il plante, l’application ne pourra être installé sur Windows et donc vous ne pourrez faire fonctionner celle-ci.
Enfin, si le programme de désinstallation est supprimée par l’utilisateur, souvent après de tentatives de suppression manuelle de l’application, un message d’erreur apparaîtra lorsque celui-ci tentera de retirer l’application depuis la liste des programmes installés de Windows.
Version Portable
Avant de détailler l’installation d’une application.
Il faut aussi comprendre que les logiciels sont souvent proposés en deux versions :
- version installable : il s’agit donc comme expliqué précédemment de lancer le programme d’installation qui va copier les fichiers et inscrire l’application comme installé dans Windows.
- version portable : l’application est fournit au format ZIP et peut fonctionner directement sans l’installer. Dans le Zip, se trouve les fichiers et dossiers de l’application, avec un exécutable. Il suffit alors de décompresser l’application dans un dossier souhaité et lancer l’EXE. Si l’on veut supprimer l’application, il faut supprimer le dossier. Ces versions sont notamment destinés à être utilisé sur clé USB afin de pouvoir être exécuté sur n’importe quel ordinateur, très pratique pour des outils de diagnostique, réparation.
Par exemple, ci-desous MozBackup en version installable ou portable.
Parfois certaines applications n’ont pas d’installeur, c’est notamment le cas des outils de nettoyage de virus ou de diagnostique comme : AdwCleaner, ZHPCleaner etc.
Installation d’une application
Par exemple sur le site de Steam, un bouton Installer est présent.
En cliquant dessus, le téléchargement du fichier SteamSetup.exe
On arrive sur l’installeur de Steam. Ce dernier se présente sous la forme d’un assistant d’installation avec divers étapes où l’on passe de l’une à l’autre à partir du bouton Suivant.
En général, le premier écran est celui de Bienvenue.
L’installeur est personnalisable avec les logos de l’application.
La seconde étape est l’étape de la licence utilisateur / EULA.
Il faut cocher “j’accepte” après avoir lu celles-ci pour stipuler que l’on est d’accord avec les termes.
puis le dossier où sera installé l’application.
En général, ce dossier est celui des programmes par défaut de Windows soit donc C:\Program Files (x86)
L’installation de l’application s’effectue avec la copie des fichiers.
Créations des clés du registre Windows qui vont bien etc.
Cela se traduit par une barre de progression qui arrive au bout.
On arrive enfin à la fin de l’assistant de l’installation.
Comme vous pouvez le voir, il est possible de lancer des programmes automatiquement comme l’application elle-même.
On peut aussi avoir le fichier README.TXT qui contient des informations de fonctionnement primaires de l’application ou un tutoriel “premier-pas” qui explique les premières actions à réaliser sur l’application.
A partir de là, l’application est installée dans Windows et fonctionnelle.
On trouve les raccourcis de lancement dans le menu Démarrer de Windows.
Steam se trouve alors dans la liste des programmes de Windows
Format d’installeur
Il existe plusieurs projets d’installeurs, certains sont payants, d’autres libres.
- DreamShield (libre)
- InstallShield : Les installateurs produits par Basic MSI sont des paquets pour Windows Installer (MSI), et ceux avec InstallScript des exécutables (généralement appelés setup.exe) qui sont fabriqués à l’aide d’un script basé sur des événements.
- Inno Setup est un logiciel libre permettant de créer des installateurs pour Windows. Ceux-ci peuvent comporter des scripts programmés en Pascal.
- Click Team Install Creator
- InstallBuilder
- InstallAnywhere (FlexeraSoftware)
- InstallAware
- InstallJammer (libre)
- IzPack Nullsoft Scriptable
- MSI Installer (Windows Installer) : Windows Installer est un moteur d’installation, de mise à jour et de désinstallation de logiciel propre aux systèmes d’exploitation de Microsoft.
- NSIS: Nullsoft Scriptable Install System (libre)
- PackageMaker (Pour MacOSX)
Avec le temps, on arrive à reconnaître quel installeur a été utilisé.
Pour l’installation plus haut de Steam, il s’agit d’InstallShield.
Ci-dessous une capture d’écran d’un Setup InstallBuilder
InstallAnywhere :
NSIS: Nullsoft Scriptable Install System :
InstallShield est probablement l’installeur le plus courant avec Windows Installer de Microsoft.
Windows Installer de Windows s’appuie un service Windows “Windows Installer” et le processus msiexec.exe
Si le service Windows Installer n’est pas fonctionnel, les installations au format MSI ne pourront fonctionner.
Installeur et Virus
Des installeurs de logiciels malveillants peuvent être utilisés.
On distinguera deux types de menaces.
La première, il s’agit des PUPs/Adwares où des installeurs proposent des logiciels additifs, souvent des adwares ou Browser Hijacker.
En outre, les sites de téléchargements (01net / telecharger.com, Clubic, etc) peuvent utiliser des installeurs sponsorisés pour gagner de l’argent à chaque installation réussie de ces programmes publicitaires.
Le plus édifiant étant InstallCore : PUPs et Adwares.
Il s’agit donc de plateformes de diffusion qui propose leur propre installeur personnalisé par rapport aux sites visés.
Ainsi, ci-dessous un InstallCore aux couleurs de ClubIC.
ou encore pour le site Opensubtitles.org
Ces installeurs enchaînent en réalité des installeurs d’applications, en mode silence.
C’est à dire que l’installeur s’exécute sans ouvrir de fenêtre avec les paramètres par défaut.
et puis, les campagnes de cheval de troie ou ransomware peuvent aussi utilisés des installeurs.
Cela rend la détection et notamment la détection comportementale plus difficile puisque ces derniers procèdent à une installation classique, comme s’il s’agissait d’une application légitime.
- Malware Hides in Installer to Avoid Detection
- Ransomware operators are hiding malware deeper in installer packages
Désinstallation
La désinstallation est le processus inverse, c’est à dire que vous retirez tout ce qui a été mis en place par l’application : les dossiers/fichiers, clés du registre Windows etc.
Là aussi, les logiciels installeurs proposent des programmes qui se chargent de désinstaller toutes les données, d’ailleurs, la plupart du temps, les logiciels de désinstallation se présentent sous la forme d’assistant de désinstallation avec des écrans assez similaires à l’installation.
Ainsi, si on désinstalle Steam, l’assistant de désinstallation s’ouvre.
Les données d’installation de l’application et le programme de désinstallation à lancer se trouve dans le registre Windows dans les clés : HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
Si le programme de désinstallation est supprimée, la désinstallation ne pourra être effectuée.
Vous pouvez alors rencontrer un message “Windows ne trouve pas xxxx.exe. Vérifiez que vous avez entré le nom correct, puis réessayez“.
- Désinstaller les programmes sur Windows
- Désinstaller des programmes sur Windows
- Supprimer entrée dans programmes et fonctionnalités : pour retirer un programme de la liste des programmes Windows (par exemple, si ce dernier a déjà été supprimé ou manuellement)
Désinstalleur tiers
Et puis, il existe des logiciels de désinstallation, du même style que les logiciels de nettoyage de Windows.
Les mêmes arguments sont mis en avant, que pour les logiciels de nettoyage, si vous désinstallez des applications, il reste des fichiers ou des éléments dans le registre Windows qui peuvent au final ralentir Windows.
Bref, il s’agit de faire peur aux utilisateurs pour créer un besoin et faire installer et acheter des logiciels inutiles.
Bien entendu, ces logiciels peuvent causer des problèmes et endommager Windows, si le nettoyage et suppression est trop profond.
Parmi les plus populaires, on trouve :
- Absolute Uninstaller
- Revo Uninstaller
- IOBit Uninstaller
Ces programmes sont inutiles, utilisez la désinstallation classique de Windows est largement suffisant.
Toutefois, Revo Uninstaller peut toutefois s’avérer utile, si vous rencontrez des difficultés pour désinstaller un programme en particulier.
Vous pouvez aussi vous reporter à ce tutoriel : Désinstaller un programme insupprimable