MSI Installer et Windows Installer : fonctionnement technique

MSI (Microsoft System Installer) est le moteur d’installation de Microsoft lié à Windows Installer.
Ce moteur permet donc de créer des fichiers d’installation au format .MSI afin de pouvoir déployer une application dans Windows.

Voici quelques informations techniques de fonctionnement de ces installer MSI.

Introduction au MSI installer

Les installeurs en MSI sont donc livrés sous la forme d’un fichier .MSI
Lorsque vous exécutez ce dernier, une première phrase de décompression a lieu.
Puis vous arrivez un assistant d’installation qui vous guide dans l’installation de l’application.

L’installeur MSI se charge d’inscrire l’application dans la liste des programmes installés de Windows.
Enfin l’installeur fournit un programme de désinstallation pour supprimer le logiciel de Windows.

MSI Installer et Windows Installer : fonctionnement technique

Fonctionnement général des installer MSI

Windows dispose d’un service Windows nommé Windows Installer.
C’est l’exécutable msiexec.exe qui est lancé lorsque le service se déclenche à la suite du lancement d’un installer MSI.

MSI Installer et Windows Installer : fonctionnement technique

Si le service Windows Installer ne peut démarré ou a été supprimé, le programme d’installation de l’application ne peut continuer et un message d’erreur s’affiche alors :

Impossible 'accéder au service Windows Installer. Ceci peut se produire si le programme d'installation de Windows n'est pas bien installé. Contactez votre support technique pour l'assistance.

Lorsque vous installez une application au format MSI, l’application est déclarée dans la liste des applications installées de Windows dans la clé du registre WindowsHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\[ProductId GUID].
Parmi les informations stockées, s’y trouvent : le nom de l’application et de l’éditeur, la commande pour lancer la désinstallation de l’application.
Windows Installer garde aussi une autre trace de l’installation en copiant le fichier MSI dans le dossier C:\Windows\installer avec un nom aléatoire.

Certaines informations sont alors stockées dans la clé du registre Windows : HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\[InternalUserId]\Products\<GUID>\InstallProperties

Ainsi, on y trouve le nom de l’application, le fichier MSI de C:\Windows\installer ainsi que la commande msiexec.exe pour lancer la désinstallation de l’application.

MSI Installer et Windows Installer : fonctionnement technique

On retrouve ces informations dans la clé Uninstall :

MSI Installer et Windows Installer : fonctionnement technique

Nettoyer les fichiers MSI

C’est pour cela que lors de la désinstallation d’un logiciel, vous pouvez rencontrer une erreur Windows Installer en demandant un fichier MSI.
Si le fichier C:\Windows\installer a été par exemple supprimé de Windows.

Rendez-vous alors sur la page : Impossible de supprimer ou désinstaller une application

Windows Installer : erreur source fichier .msi désinstallation de programmes

Il est aussi possible de nettoyer le dossier C:\Windows\installer pour notamment libérer de la place.
Le but étant de supprimer les fichiers .msi qui ne sont plus installés dans l’ordinateur.
Là aussi, il faut faire attention, car si le nettoyeur est trop intrusif, vous risquez ensuite de rencontrer des problèmes pour désinstaller vos applications.

Rendez-vous sur la page : Comment nettoyer le dossier Windows\installer et fichiers .msi ou .msp

Extraire un fichier MSI

Les fichiers MSI sont des packages, il existe donc divers outils qui permettent d’en extraire le contenu.
Voici une liste d’extracteur de fichiers MSI.

En outre, le logiciel de compression 7-zip est capable de traiter les fichiers MSI.
Le contenu comporte divers fichiers et notamment un fichier cab :

MSI Installer et Windows Installer : fonctionnement technique

qui contiennent les fichiers de l’application qui seront copiés durant la phase d’installation.

MSI Installer et Windows Installer : fonctionnement technique

Il est aussi possible d’extraire le contenu d’un fichier MSI en ligne de commandes.

msiexec en ligne de commandes

MSI installer fonctionne très bien en ligne de commandes, il est donc possible de lancer des installation ou désinstallation à partir de l’invite de commandes ou d’un script.

msiexec /a CheminDuFichierMSI/qb TARGETDIR=CheminDuDossierDeDestination

msiexec en ligne de commandes

Les paramètres généraux d’installation :

msiexec /Option <Paramètre requis> [Paramètre facultatif]msiexec /Option <Paramètre requis> [Paramètre facultatif]
Options d'installation
 </package | /i> <Produit.msi> Installe ou configure un produit 
/a <Produit.msi> Installation administrative - Installe un produit sur le réseau 
/j<u|m> <produit.msi> [/t <Liste de transformations>] [/g <ID de langue>] Publie un produit - m pour tous les utilisateurs, u pour l'utilisateur actuel </uninstall | /x> <Produit.msi | Code produit> Désinstalle le produit

Il est aussi possible de lancer une installation en mode silencieux sans fenêtre (GUI) mais aussi créer un fichier LOG.
Le fichier de LOG est interressant en cas de message d’erreur pour débugger et trouver la source.
Voici un exemple de commandes msiexec :

msiexec.exe /i "C:\Users\toto\Téléchargements\MonInstallerDeOuf.msi" /qn /L*V "%TEMP%\package.log"

msiexec en ligne de commandes

Liens autour des installateurs Windows

 

(Visité 4 610 fois, 4 visites ce jour)

Vous pouvez aussi lire...

Les Tags : #Windows10 - #Windows - #Tutoriel - #Virus - #Antivirus - #navigateurs WEB - #Securité - #Réseau - #Internet