Partager via


Installutil.exe (outil Installer Tool)

L'outil Installer Tool (Programme d'installation) est un utilitaire en ligne de commande qui vous permet d'installer et de désinstaller les ressources du serveur en exécutant les composants du programme d'installation dans des assemblys spécifiés. Cet outil fonctionne conjointement avec les classes dans l'espace de noms System.Configuration.Install.

Cet outil est installé automatiquement avec Visual Studio et avec le Kit de développement logiciel Windows. Pour exécuter l'outil, nous vous recommandons d'utiliser l'invite de commandes Visual Studio ou l'invite de commandes du Kit de développement logiciel (l'interpréteur de commandes CMD). Ces utilitaires vous permettent d'exécuter l'outil facilement, sans naviguer jusqu'au dossier d'installation. Pour plus d'informations, consultez Invites de commandes Visual Studio e t Kit de développement logiciel (SDK) Windows.

  • Si Visual Studio est installé sur votre ordinateur : dans la barre des tâches, cliquez sur le bouton Start, All Programs, Visual Studio, sur Visual Studio Tools, puis sur Visual Studio Command Prompt.

    ou

    Si vous avez le Kit de développement logiciel Windows installé sur votre ordinateur : Dans la barre des tâches, cliquez sur Start, All Programs, le dossier correspondant au Kit de développement logiciel, puis sur Command Prompt (ou CMD Shell).

  • À l'invite de commandes, tapez ce qui suit :

installutil [/u[ninstall]] [options] assembly [[options] assembly] ...

Paramètres

Argument

Description

assembly

Nom de l'assembly dans lequel exécuter les composants du programme d'installation. Omettez ce paramètre si vous souhaitez spécifier le nom fort de l'assembly à l'aide de l'option /AssemblyName.

Options

Option

Description

/h[elp]

ou

/?

Affiche la syntaxe et les options de commande de l'outil.

/help assembly

ou

/? assembly

Affiche les options supplémentaires reconnues par des programmes d'installation dans l'assembly spécifié, avec la syntaxe et les options de commande de InstallUtil.exe. Cette option ajoute le texte retourné par la propriété Installer.HelpText de chaque composant de programme d'installation au texte d'aide d'InstallUtil.exe.

/AssemblyName "assemblyName

,Version=major.minor.build.revision

,Culture=locale

,PublicKeyToken=publicKeyToken"

Spécifie le nom fort d'un assembly, qui doit être enregistré dans le Global Assembly Cache. Le nom de l'assembly doit être qualifié complet avec la version, la culture et le jeton de clé publique de l'assembly. Le nom qualifié complet doit être placé entre guillemets.

Par exemple, "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0" est un nom d'assembly qualifié complet.

/InstallStateDir=[NomRépertoire]

Spécifie le répertoire du fichier .InstallState contenant les données utilisées pour désinstaller l'assembly. La valeur par défaut est le répertoire qui contient l'assembly.

/LogFile=[nom de fichier]

Spécifie le nom du fichier journal dans lequel la progression de l'installation est enregistrée. Par défaut, si l'option /LogFile est omise, un fichier journal nommé assemblyname.InstallLog est créé. Si filename est omis, aucun fichier journal n'est généré.

/LogToConsole={true|false}

Si true, affiche la sortie dans la console. Si la valeur par défaut false est affectée, supprime la sortie dans la console.

/ShowCallStack

Sort la pile des appels dans le journal si une exception se produit à tout moment de l'installation.

/u[ninstall]

Désinstalle les assembly spécifiés. À la différence des autres options, /u s'applique à tous les assemblys, quel que soit l'option qui apparaît sur la ligne de commande.

Options supplémentaires du programme d'installation

Les programmes d'installation utilisés avec un assembly peuvent reconnaître les options outre celles répertoriées dans la section Options. Pour plus d'informations sur ces options, exécutez InstallUtil.exe avec les chemins d'accès des assemblys sur la ligne de commande avec l'option /? ou /help. Pour spécifier ces options, ajoutez-les sur la ligne de commande avec les options identifiées par InstallUtil.exe.

RemarqueRemarque

Le texte d'aide sur les options prises en charge par différents composants du programme d'installation est retourné par la propriété Installer.HelpText.Les différentes options qui ont été entrées dans la ligne de commande sont accessibles par programmation depuis la propriété Installer.Context.

Tous les paramètres de ligne de commande et options sont écrits dans le fichier journal de l'installation. Toutefois, si vous utilisez le paramètre /Password reconnu par certains composants du programme d'installation, les informations de mot de passe seront remplacées par huit astérisques (*) et n'apparaîtront pas dans le fichier journal.

Remarque importanteImportant

Dans certains cas, les paramètres passés au programme d'installation peuvent comprendre des informations sensibles ou personnellement identifiables qui, par défaut, sont écrites dans un fichier journal de texte brut.Pour empêcher ce comportement, vous pouvez supprimer le fichier journal en spécifiant /LogFile= (sans l'argument nom_fichier) après Installutil.exe sur la ligne de commande.

Notes

Les applications .NET Framework comportent des fichiers programmes traditionnels et des ressources associées, telles que les files d'attente de messages, les journaux des événements et les compteurs de performance devant être créés lors du déploiement de l'application. Vous pouvez utiliser les composants du programme d'installation d'un assembly pour créer ces ressources lors de l'installation de l'application et les supprimer lors de la désinstallation de l'application. Installutil.exe détecte et exécute les composants de ce programme d'installation.

Vous pouvez spécifier plusieurs assemblys sur la même ligne de commande. Toute option précédant le nom d'un assembly s'applique à l'installation de cet assembly. À l'exception de /u et /AssemblyName, les options sont cumulatives mais substituables. Autrement dit, les options spécifiées pour un assembly s'appliquent à tous les assemblys subséquents, à moins que l'option ne soit spécifiée avec une nouvelle valeur.

Si vous exécutez Installutil.exe par rapport à un assembly sans spécifier d'options, les trois fichiers suivants seront alors placés dans le répertoire de cet assembly :

  • InstallUtil.InstallLog - Contient une description générale de la progression de l'installation.

  • assemblyname.InstallLog - Comporte des informations propres à la phase de validation du processus d'installation. Pour plus d'informations sur la phase de validation, consultez la méthode Commit.

  • assemblyname.InstallState - Contient les données utilisées pour désinstaller l'assembly.

Installutil.exe utilise la réflexion pour inspecter les assemblys spécifiés et pour récupérer tous les types de Installer qui ont l'ensemble d'attributs System.ComponentModel.RunInstallerAttribute défini sur true. L'outil exécute alors soit la méthode Installer.Install, soit la méthode Installer.Uninstall sur chaque instance du type Installer. Installutil.exe procède à l'installation sous une forme transactionnelle ; en cas d'échec de l'installation de l'un des assemblys, l'installation de tous les autres assemblys est restaurée. La désinstallation ne fonctionne pas de manière transactionnelle.

Installutil.exe ne peut pas installer ou désinstaller les assemblys dont la signature est différée, mais il peut installer ou désinstaller des assemblys à nom fort.

Depuis le .NET Framework version 2.0, la version 32 bits du Common Language Runtime (CLR) est fournie uniquement avec la version 32 bits de l'outil Installer, mais la version 64 bits du CLR est fournie avec les versions 32 bits et 64 bits de l'outil Installer. Lorsque vous utilisez la version 64 bits du CLR, utilisez l'outil Installer 32 bits pour installer des assemblys 32 bits et l'outil Installer 64 bits pour les assemblys 64 bits et Microsoft Intermediate Language (MSIL). Les deux versions de l'outil Installer ont le même comportement.

Vous ne pouvez pas utiliser Installutil.exe pour déployer un service Windows qui a été créé à l'aide de C++, car Installutil.exe ne peut pas identifier du code natif embarqué généré par le compilateur C++. Si vous tentez de déployer un service Windows créé à l'aide de C++ avec Installutil.exe, cela provoque la levée d'une exception telle que BadImageFormatException. Pour utiliser ce scénario, déplacez le code de service dans un module C++, puis écrivez l'objet programme d'installation dans C# ou Visual Basic.

Exemples

La commande suivante affiche une description de la syntaxe de la commande et des options de InstallUtil.exe.

installutil /?

La commande suivante affiche une description de la syntaxe de la commande et des options de InstallUtil.exe. S'affiche également une description et une liste d'options prises en charge par les composants du programme d'installation dans myAssembly.exe si le texte d'aide a été assigné à la propriété Installer.HelpText du programme d'installation.

installutil /? myAssembly.exe

La commande suivante exécute les composants du programme d'installation dans l'assembly myAssembly.exe.

installutil myAssembly.exe

La commande suivante exécute les composants d'installation dans un assembly en utilisant le commutateur /AssemblyName et un nom qualifié complet.

installutil /AssemblyName "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0"

La commande suivante exécute les composants du programme d'installation dans un assembly spécifié par le nom de fichier et d'un assembly spécifié par le nom fort. Notez que tous les assemblys spécifiés par le nom de fichier doivent précéder les assemblys spécifiés par le nom fort sur la ligne de commande, car l'option /AssemblyName ne peut pas être écrasée.

installutil myAssembly.exe /AssemblyName "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0"

La commande suivante exécute les composants du programme de désinstallation dans l'assembly myAssembly.exe.

installutil /u myAssembly.exe 

La commande suivante exécute les composants du programme de désinstallation dans les assemblys myAssembly1.exe et myAssembly2.exe.

installutil myAssembly1.exe /u myAssembly2.exe

Étant donné que la position de l'option /u sur la ligne de commande n'est pas importante, cela équivaut à la commande suivante.

installutil /u myAssembly1.exe myAssembly2.exe

La commande suivante exécute les programmes d'installation dans l'assembly myAssembly.exe et spécifie l'écriture des informations sur la progression dans myLog.InstallLog.

installutil /LogFile=myLog.InstallLog myAssembly.exe 

La commande suivante exécute les programmes d'installation dans l'assembly myAssembly.exe, spécifie que les informations de progression doivent être écrites dans myLog.InstallLog, et utilise l'option /reg personnalisée des programmes d'installation pour spécifier que les mises à jour doivent être effectuées dans la base de registres.

installutil /LogFile=myLog.InstallLog /reg=true myAssembly.exe

La commande suivante exécute les programmes d'installation dans l'assembly myAssembly.exe, utilise l'option /email personnalisée du programme d'installation pour spécifier l'adresse de messagerie de l'utilisateur, et supprime la sortie au fichier journal.

installutil /LogFile= /email=admin@mycompany.com myAssembly.exe

La commande suivante écrit la progression de l'installation de myAssembly.exe dans myLog.InstallLog et celle de myTestAssembly.exe dans myTestLog.InstallLog.

installutil /LogFile=myLog.InstallLog myAssembly.exe /LogFile=myTestLog.InstallLog myTestAssembly.exe

Voir aussi

Référence

System.Configuration.Install

Invites de commandes Visual Studio e t Kit de développement logiciel (SDK) Windows

Autres ressources

Outils du .NET Framework

Historique des modifications

Date

Historique

Motif

Avril 2011

Informations supplémentaires sur l'utilisation des invites de commandes de Visual Studio et du Kit de développement logiciel (SDK) Windows.

Améliorations apportées aux informations.