Menu Fermer

Utiliser la commande msiexec pour installer, désinstaller des applications Windows Installer

Msiexec est une commande utilisée dans le système d’exploitation Windows pour exécuter et gérer les installations et désinstallations des programmes utilisant le format de fichier MSI (Microsoft Installer).
Il est principalement utilisé pour installer, configurer et supprimer des logiciels sur un ordinateur Windows. Msiexec prend en charge diverses options et paramètres qui permettent de personnaliser le processus d’installation, y compris la spécification du chemin d’accès du fichier MSI, la suppression silencieuse des programmes, la désinstallation, la réparation des installations existantes, etc. En utilisant msiexec, les administrateurs système et les utilisateurs peuvent automatiser les installations de logiciels et les maintenir efficacement sur leurs systèmes.

Dans ce guide je vous montre comment utiliser la commande msiexec disponible dans Windows 11 ou Windows 10.

Utiliser la commande msiexec pour installer, désinstaller des applications Windows Installer

Comment installer une application avec msiexec

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.
Pour cela, on utilise le paramètre /i ou /package comme ceci :

msiexec /i "<fichier MSI>"

Par exemple pour installer le paquet setup32.msi :

msiexec /i "C:\Users\toto\Téléchargements\setup32.msi"
msiexec en ligne de commandes

Sachez qu’il existe des options spécifiques aux paquets installés que l’éditeur peut ajouter lors de la conception.
Cela se fait à travers un fichier de transformation (.mst – MSI transforms).
Il a pour but de transmettre des paramètres de configuration personnalisés au programme d’installation MSI. Le fichier de transformation contient des informations sur la configuration personnalisée d’un paquet, la configuration d’une application ou toute une série d’autres personnalisations. Ces personnalisations sont généralement propres à un environnement spécifique.

Par exemple, le paquet OpenOffice propose l’option TARGETDIR qui vous permet de définir l’emplacement de destination de l’application.
Par exemple pour installer OpenOffice sur E:\Libreoffice

msiexec /a "F:\LibreOffice_5.3.3_Win_x64.msi" /qb TARGETDIR=E:\Libreoffice

Dans le paquet Firefox, il s’agit de INSTALL_DIRECTORY_PATH=[chemin].
Ce dernier propose bien d’autres paramètres comme la possibilité d’ajouter une icône sur le bureau, dans la barre des tâches, menu Démarrer ou encore empêcher le redémarrage.

Pour obtenir la liste des paramètres, utilisez un éditeur comme Orca (ou équivalent) ou consultez le site de l’éditeur.

Installer une application en mode silencieux

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

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

C’est l’argument /qn qui permet une installation silencieuse.

ParamètreDescription
<chemin paquet>Spécifie l’emplacement et le nom du fichier de package d’installation.
/quietSpécifie le mode silencieux, ce qui signifie qu’aucune interaction utilisateur n’est requise.
/passiveSpécifie le mode sans assistance, ce qui signifie que l’installation affiche uniquement une barre de progression.
/qnSpécifie qu’il n’y a pas d’interface utilisateur pendant le processus d’installation.
/qn+Spécifie qu’il n’y a pas d’interface utilisateur pendant le processus d’installation, à l’exception d’une boîte de dialogue finale à la fin.
/qbSpécifie qu’il n’y a pas d’interface utilisateur de base pendant le processus d’installation.
/qb+Spécifie qu’il n’y a pas d’interface utilisateur de base pendant le processus d’installation, y compris une boîte de dialogue finale à la fin.
/qrSpécifie une expérience d’interface utilisateur réduite pendant le processus d’installation.
/qfSpécifie une expérience d’interface utilisateur complète pendant le processus d’installation.
Les paramètres d’installation silencieuse de MSIexec

Comment désinstaller une application

Pour supprimer une application avec msiexec.exe, on utilise l’option /x ou /uninstall avec la syntaxe suivante :

msiexec.exe /x "<fichier MSI|GUID>"
Comment désinstaller une application avec msiexec.exe

Mais il est recommandé d’activer la journalisation et d’enregistrer toutes les informations, y compris les informations verbeuses. Vous pouvez le faire en ajoutant les paramètres /l*v à votre ligne de commande de désinstallation.

msiexec /x "<fichier MSI|GUID>" /l*v <Fichier journal>

Lorsque vous travaillez en silencieux, sans interface utilisateur pendant le processus de désinstallation, vous pouvez utiliser le paramètre /qn.

msiexec /x "<fichier MSI|GUID>" /qn /l*v <Fichier journal>
Notez que lorsque vous désinstallez un produit, il utilise un MSI mis en cache, car seul le MSI d’origine sait comment se désinstaller. Lorsque vous utilisez le code produit, il utilise le MSI mis en cache dans C:\WINDOWS\Installer.
  • Avec Orca (ou équivalent), dans la table Properties, se trouve une propriété ProductCode
  • Dans le registre Windows, dans l’emplacement suivant :
    • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\<GUID>
    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\[InternalUserId]\Products\<GUID>\InstallProperties
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<GUID>
Comment désinstaller une application avec msiexec.exe

Soit donc :

msiexec /x "{5B0C7A0B-0B5A-4552-8E06-0CC630F2C50A}"
Comment désinstaller une application avec msiexec.exe

Si le message “Cette action est valide uniquement pour les produits déjà installés.” s’affiche, c’est que l’application est déjà désinstallée ou elle s’inscrit dans Windows d’une autre manière que via le système Windows Installer (MSI).

Windows Installer - Cette action est valide uniquement pour les produits déjà installés.

Comment mettre à jour un paquet MSI

L’installation de mise à jour se fait à partir d’un fichier MSP (Microsoft Software Patch) fourni par l’éditeur.

Pour forcer MSIExec à mettre à jour la version spécifiée, utilisez la syntaxe suivante :

msiexec /i "<fichier MSP>" /q REINSTALL=ALL REINSTALLMODE=A

L’argument REINSTALLMODE=A force la réinstallation de tous les fichiers, qu’ils soient identiques/différents/anciens/jeunes/ ou non.

D’autres paramètres sont possibles :

ParamètreDescription
/pInstalle un correctif. Si vous installez en mode silencieux, vous devez également définir la propriété REINSTALLMODE sur ecmus et REINSTALL sur ALL. Sinon, le correctif met uniquement à jour le MSI mis en cache sur l’appareil cible.
/updateInstaller l’option de correctifs. Si vous appliquez plusieurs mises à jour, vous devez les séparer à l’aide d’un point-virgule (;).
/packageInstalle ou configure un produit.

Comment extraire un fichier MSI

Il est aussi possible d’extraire le contenu d’un fichier MSI en ligne de commandes avec la commande msiexec si le setup est conçu pour effectuer l’action.
Voici la syntaxe à appliquer :

msiexec /a lecteur:\chemin\vers\MSI\fichier /qb TARGETDIR=lecteur:\chemin\vers\cible\dossier

En utilisant les emplacements souhaités pour remplir les chemins de fichiers mentionnés ci-dessus. Exemple :

msiexec /a c:\fichiertest.msi /qb TARGETDIR=c:\temp\test
Comment extraire un fichier MSI avec la commande msiexec

Contrôler le démarrage après l’installation

Pour contrôler le démarrage après l’installation, on utilise un paramètre comme argument en fin de commandes :

msiexec.exe /i "<fichier MSI|GUID>" [/norestart][/promptrestart][/forcerestart]

Voici les paramètres possibles.

ParamètreDescription
<chemin paquet>Spécifie l’emplacement et le nom du fichier de package d’installation.
/norestartArrête le redémarrage de l’appareil une fois l’installation terminée.
/promptrestartDemande à l’utilisateur si un redémarrage est nécessaire.
/forcerestartRedémarre l’appareil une fois l’installation terminée.
Paramètres de contrôle du démarrage après installation

Réparer un paquet installé

L’option /f de msiexec propose des options de réparation de paquet.
Voici la syntaxe :

msiexec.exe [/f{p|o|e|d|c|a|u|m|s|v}] <GUID>
ParamètreDescription
/fpRépare le package si un fichier est manquant.
/foRépare le package si un fichier est manquant ou si une version antérieure est installée.
/feRépare le package si le fichier est manquant ou si une version égale ou antérieure est installée.
/fdRépare le package si un fichier est manquant ou si une version différente est installée.
/fcRépare le package si le fichier est manquant ou si la somme de contrôle ne correspond pas à la valeur calculée.
/faForce la réinstallation de tous les fichiers.
/fuRépare toutes les entrées de registre requises spécifiques à l’utilisateur.
/fmRépare toutes les entrées de registre requises spécifiques à l’ordinateur.
/fsRépare tous les raccourcis existants.
/fvS’exécute à partir de la source et met à nouveau en cache le package local.
Les options de réparation de paquet MSIexec

Obtenir l’aide MSiexec

Pour obtenir l’aide avec la liste des options et commandes :

msiexec /?
msiexec en ligne de commandes