Gacutil.exe (outil Global Assembly Cache)
L'outil Global Assembly Cache vous permet d'afficher et de manipuler le contenu du Global Assembly Cache et du cache de téléchargement.
Cet outil est installé automatiquement avec Visual Studio. Pour exécuter l’outil, utilisez l’invite de commandes développeur Visual Studio ou PowerShell pour développeurs Visual Studio.
À l'invite de commandes, tapez :
Syntaxe
gacutil [options] [assemblyName | assemblyPath | assemblyListFile]
Paramètres
Argument | Description |
---|---|
assemblyName | Nom d'un assembly. Vous pouvez indiquer un nom d'assembly partiellement spécifié, tel que myAssembly ou un nom d'assembly complètement spécifié, tel que myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5 . |
assemblyPath | Nom d'un fichier comportant un manifeste d'assembly. |
assemblyListFile | Chemin d’accès à un fichier texte ANSI qui répertorie des assemblys à installer ou à désinstaller. Pour utiliser un fichier texte afin d’installer des assemblys, spécifiez le chemin d’accès de chaque assembly sur une ligne distincte dans le fichier. L’outil interprète des chemins relatifs à l’emplacement de assemblyListFile. Pour utiliser un fichier texte afin de désinstaller des assemblys, indiquez le nom qualifié complet de chaque assembly sur une ligne distincte dans le fichier. Consultez les exemples de contenu de assemblyListFile plus loin dans cette rubrique. |
Option | Description |
---|---|
/cdl | Supprime le contenu du cache de téléchargement. |
/f | Spécifiez cette option avec les options /i ou /il pour forcer la réinstallation d’un assembly. Si un assembly portant le même nom existe déjà dans le Global Assembly Cache, l'outil le remplace. |
/h[elp] | Affiche la syntaxe et les options de commande de l'outil. |
/i assemblyPath | Installe un assembly dans le Global Assembly Cache. |
/if assemblyPath | Installe un assembly dans le Global Assembly Cache. Si un assembly portant le même nom existe déjà dans le Global Assembly Cache, l'outil le remplace. La spécification de cette option revient à spécifier les options /i et /f ensemble. |
/il assemblyListFile | Installe un ou plusieurs assemblys spécifiés dans assemblyListFile dans le Global Assembly Cache. |
/ir assemblyPath scheme id description |
Installe un assembly dans le Global Assembly Cache et ajoute une référence pour compter l'assembly. Vous devez spécifier les paramètres assemblyPath, scheme, id et description avec cette option. Pour obtenir une description des valeurs valides que vous pouvez spécifier pour ces paramètres, consultez l’option /r. La spécification de cette option revient à spécifier les options /i et /r ensemble. |
/l [assemblyName] | Affiche le contenu du Global Assembly Cache. Si vous spécifiez le paramètre assemblyName, l’outil ne répertorie que les assemblys correspondant à ce nom. |
/ldl | Répertorie le contenu du cache de fichiers téléchargés. |
/lr [assemblyName] | Répertorie tous les assemblys et leurs décomptes de références correspondants. Si vous spécifiez le paramètre assemblyName, l’outil ne répertorie que les assemblys correspondant à ce nom et leurs décomptes de références correspondants. |
/nologo | Supprime l'affichage de la bannière de démarrage Microsoft. |
/r [assemblyName | assemblyPath] scheme id description |
Spécifie une référence avec trace à un assembly ou des assemblys à installer ou à désinstaller. Spécifiez cette option avec les options /i, /il, /u ou /ul. Pour installer un assembly, spécifiez les paramètres assemblyPath, scheme, id et description avec cette option. Pour désinstaller un assembly, spécifiez les paramètres assemblyName, scheme, id et description. Pour supprimer une référence à un assembly, vous devez spécifier les mêmes paramètres scheme, id et description que ceux spécifiés avec les options /i et /r (ou /ir) lors de l’installation de l’assembly. Si vous désinstallez un assembly, l'outil supprime également l'assembly du Global Assembly Cache s'il s'agit de la dernière référence à supprimer et si Windows Installer ne possède aucune référence en suspens à l'assembly. Le paramètre scheme spécifie le type de schéma d’installation. Vous pouvez spécifier l'une des valeurs suivantes : - UNINSTALL_KEY : spécifiez cette valeur si le programme d’installation ajoute l’application à Ajout/Suppression de programmes dans Microsoft Windows. Les applications s'ajoutent elles-mêmes à Ajout/Suppression de programmes en ajoutant une clé de Registre à HKLM\Software\Microsoft\Windows\CurrentVersion. - FILEPATH : spécifiez cette valeur si le programme d’installation n’ajoute pas l’application à Ajout/Suppression de programmes. - OPAQUE : spécifiez cette valeur si l’indication d’une clé de Registre ou d’un chemin de fichier ne s’applique pas à votre scénario d’installation. Cette valeur vous permet de spécifier des informations personnalisées pour le paramètre id. La valeur à spécifier pour le paramètre id dépend de la valeur spécifiée pour le paramètre scheme : - Si vous spécifiez UNINSTALL_KEY pour le paramètre scheme, spécifiez le nom de l’application défini dans la clé de Registre HKLM\Software\Microsoft\Windows\CurrentVersion. Par exemple, si la clé de Registre est HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp, spécifiez MyApp pour le paramètre id. - Si vous spécifiez FILEPATH pour le paramètre scheme, spécifiez le chemin complet du fichier exécutable qui installe l’assembly en tant que paramètre id. - Si vous spécifiez OPAQUE pour le paramètre scheme, vous pouvez fournir n’importe quelles données en tant que paramètre id. Les données que vous spécifiez doivent être mises entre guillemets (""). Le paramètre description vous permet de spécifier un texte descriptif concernant l’application à installer. Ces informations sont affichées lorsque des références sont énumérées. |
/silent | Supprime l'affichage de toutes les sorties. |
/u assemblyName | Désinstalle un assembly du Global Assembly Cache. |
/uf assemblyName | Force la désinstallation d'un assembly spécifié en supprimant toutes les références à cet assembly. La spécification de cette option revient à spécifier les options /u et /f ensemble. Remarque : Vous ne pouvez pas utiliser cette option pour supprimer un assembly installé à l’aide de Microsoft Windows Installer. Si vous tentez cette opération, l'outil affiche un message d'erreur. |
/ul assemblyListFile | Désinstalle un ou plusieurs assemblys spécifiés dans assemblyListFile du Global Assembly Cache. |
/u[ngen] assemblyName | Désinstalle un assembly spécifié du Global Assembly Cache. S'il existe des décomptes de références pour l'assembly spécifié, l'outil les affiche et ne supprime pas l'assembly du Global Assembly Cache. Remarque : Dans .NET Framework version 2.0, /ungen n’est pas pris en charge. Utilisez plutôt la commande uninstall de Ngen.exe (Native Image Generator). Dans le .NET Framework versions 1.0 et 1.1, la spécification de /ungen conduit Gacutil.exe à supprimer l’assembly du cache des images natives. Ce cache stocke les images natives pour les assemblys qui ont été créés à l’aide de Ngen.exe (Native Image Generator). |
/ur assemblyName scheme id description |
Désinstalle une référence à un assembly spécifié du Global Assembly Cache. Pour supprimer une référence à un assembly, vous devez spécifier les mêmes paramètres scheme, id et description que ceux spécifiés avec les options /i et /r (ou /ir) lors de l’installation de l’assembly. Pour obtenir une description des valeurs valides que vous pouvez spécifier pour ces paramètres, consultez l’option /r. La spécification de cette option revient à spécifier les options /u et /r ensemble. |
/? | Affiche la syntaxe et les options de commande de l'outil. |
Notes
Notes
Vous devez disposer des droits d'administrateur pour utiliser Gacutil.exe.
Gacutil.exe vous permet plus particulièrement d'installer des assemblys dans le cache, d'en supprimer du cache et de répertorier le contenu du cache.
Gacutil.exe fournit des options qui prennent en charge le décompte de références similaire au modèle de décompte de références pris en charge par Windows Installer. Vous pouvez utiliser Gacutil.exe pour installer deux applications qui installent le même assembly ; l'outil garde la trace du nombre de références à l'assembly. L'assembly reste donc sur l'ordinateur jusqu'à ce que les deux applications soient désinstallées. Si vous utilisez Gacutil.exe pour des installations de produits, utilisez les options qui prennent en charge le décompte de références. Utilisez les options /i et /r ensemble pour installer un assembly et ajouter une référence pour le décompter. Utilisez les options /u et /r ensemble pour supprimer un décompte de références pour un assembly. Notez que l’utilisation des options /i et /u seules ne prend pas en charge le décompte de références. Ces options conviennent à une utilisation pendant le développement d'un produit, mais pas pour des installations de produits.
Utilisez les options /il ou /ul pour installer ou désinstaller une liste d’assemblys stockés dans un fichier texte ANSI. Le contenu du fichier texte doit être correctement mis en forme. Pour utiliser un fichier texte afin d’installer des assemblys, spécifiez le chemin d’accès de chaque assembly sur une ligne distincte dans le fichier. L'exemple suivant illustre le contenu d'un fichier contenant des assemblys à installer.
myAssembly1.dll
myAssembly2.dll
myAssembly3.dll
Pour utiliser un fichier texte afin de désinstaller des assemblys, indiquez le nom qualifié complet de chaque assembly sur une ligne distincte dans le fichier. L'exemple suivant illustre le contenu d'un fichier contenant des assemblys à désinstaller.
myAssembly1,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab
myAssembly2,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab
myAssembly3,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab
Notes
Si vous tentez d’installer un assembly dont le nom de fichier dépasse les 79-91 caractères (sans compter l’extension du fichier), vous risquez de rencontrer l’erreur suivante :
Failure adding assembly to the cache: The file name is too long.
En effet, Gacutil.exe construit en interne un chemin d’accès pouvant atteindre MAX_PATH caractères et composé des éléments suivants :
- GAC Root – 34 caractères (p. ex.,
C:\Windows\Microsoft.NET\assembly\
) - Architecture – 7 ou 9 caractères (p. ex.,
GAC_32\
,GAC_64\
,GAC_MSIL
) - AssemblyName – jusqu’à 91 caractères, selon la taille des autres éléments (par exemple,
System.Xml.Linq\
) - AssemblyInfo - 31 à 48 caractères ou plus constitué des éléments suivants :
- Framework – 5 caractères (par exemple,
v4.0_
) - AssemblyVersion – 8 à 24 caractères (par exemple,
9.0.1000.0_
) - AssemblyLanguage – 1 à 8 caractères (par exemple,
de_
,sr-Cyrl_
) - PublicKey – 17 caractères (par exemple,
31bf3856ad364e35\
)
- Framework – 5 caractères (par exemple,
- DllFileName – jusqu'à 91 + 4 caractères (p. ex.,
<AssemblyName>.dll
)
Exemples
La commande suivante installe l'assembly mydll.dll
dans le Global Assembly Cache.
gacutil /i mydll.dll
La commande suivante supprime l'assembly hello
du Global Assembly Cache si aucun décompte de références n'existe pour l'assembly.
gacutil /u hello
Notez que la commande précédente peut supprimer plusieurs assemblys du cache de l'assembly, car le nom de l'assembly n'est pas complètement spécifié. Par exemple, si les versions 1.0.0.0 et 3.2.2.1 de hello
sont installées dans le cache, la commande gacutil /u hello
supprime alors ces deux assemblys.
Suivez l'exemple suivant pour éviter de supprimer plusieurs assemblys. Cette commande supprime uniquement l'assembly hello
correspondant au numéro de version, à la culture et à la clé publique intégralement spécifiés.
gacutil /u hello, Version=1.0.0.1, Culture="de",PublicKeyToken=45e343aae32233ca
La commande suivante installe les assemblys spécifiés dans le fichier assemblyList.txt
du Global Assembly Cache.
gacutil /il assemblyList.txt
La commande suivante supprime les assemblys spécifiés dans le fichier assemblyList.txt
du Global Assembly Cache.
gacutil /ul assemblyList.txt
La commande suivante installe myDll.dll
dans le Global Assembly Cache et ajoute une référence pour le décompter. L'assembly myDll.dll
est utilisé par l'application MyApp
. Le paramètre UNINSTALL_KEY MyApp
spécifie la clé de Registre qui ajoute MyApp
à Ajout/Suppression de programmes dans Windows. Le paramètre description est spécifié en tant que My Application Description
.
gacutil /i /r myDll.dll UNINSTALL_KEY MyApp "My Application Description"
La commande suivante installe myDll.dll
dans le Global Assembly Cache et ajoute une référence pour le décompter. Le paramètre scheme, FILEPATH
, et le paramètre id, c:\applications\myApp\myApp.exe
, spécifient le chemin de l’application qui installe myDll.dll.
. Le paramètre description est spécifié en tant que MyApp
.
gacutil /i /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp
La commande suivante installe myDll.dll
dans le Global Assembly Cache et ajoute une référence pour le décompter. Le paramètre scheme, OPAQUE
, vous permet de personnaliser les paramètres id et description.
gacutil /i /r mydll.dll OPAQUE "Insert custom application details here" "Insert Custom description information here"
La commande suivante supprime la référence à myDll.dll
par l'application myApp
. S'il s'agit de la dernière référence à l'assembly, elle supprime également l'assembly du Global Assembly Cache.
gacutil /u /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp
La commande suivante répertorie le contenu du Global Assembly Cache.
gacutil /l