Herramienta Caché de ensamblados global (Gacutil.exe)

Esta herramienta permite ver y manipular el contenido de la caché ensamblados global y de la caché de descarga.

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]

Parámetros

Argumento Descripción

assemblyName

Nombre de un ensamblado. Puede proporcionar un nombre de ensamblado especificado parcialmente, como myAssembly, o un nombre de ensamblado completo, como myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5.

assemblyPath

Nombre de un archivo que contiene un manifiesto del ensamblado.

assemblyListFile

Ruta de acceso a un archivo de texto ANSI donde se enumeran los ensamblados que se van a instalar o desinstalar. Si desea utilizar un archivo de texto para instalar ensamblados, especifique la ruta de acceso de cada ensamblado en una línea independiente en el archivo. La herramienta interpreta las rutas de acceso relativas con respecto a la ubicación de assemblyListFile. Si desea utilizar un archivo de texto para desinstalar ensamblados, especifique el nombre completo de cada ensamblado en una línea independiente en el archivo. Puede ver algunos ejemplos del contenido de assemblyListFile más adelante en este tema.

Opción Descripción

/cdl

Elimina el contenido de la caché de descarga.

/f

Especifique esta opción con las opciones /i o /il para exigir que un ensamblado vuelva a instalarse. Si ya existe un ensamblado con el mismo nombre en la caché de ensamblados global, la herramienta sobrescribe dicho ensamblado.

/h[elp]

Muestra la sintaxis de comandos y opciones para la herramienta.

/i assemblyPath

Instala un ensamblado en la caché de ensamblados global.

/if assemblyPath

Instala un ensamblado en la caché de ensamblados global. Si ya existe un ensamblado con el mismo nombre en la caché de ensamblados global, la herramienta sobrescribe dicho ensamblado.

Especificar esta opción equivale a especificar las opciones /i y /f juntas.

/il assemblyListFile

Instala uno o varios ensamblados especificados en assemblyListFile en la caché de ensamblados global.

/ir assemblyPath

scheme

id

description

Instala un ensamblado en la caché de ensamblados global y agrega una referencia para enumerar el ensamblado. Debe especificar los parámetros assemblyPath, scheme, id, y description con esta opción. Para obtener una descripción de los valores válidos para especificar en estos parámetros, vea la opción /r.

Especificar esta opción equivale a especificar las opciones /i y /r juntas.

/l [assemblyName]

Enumera el contenido de la caché de ensamblados global. Si se especifica el parámetro assemblyName, la herramienta sólo enumera los ensamblados que coinciden con dicho nombre.

/ldl

Enumera el contenido de la caché de archivos descargados.

/lr [assemblyName]

Enumera todos los ensamblados y sus contadores de referencia correspondientes. Si se especifica el parámetro assemblyName, la herramienta sólo enumera los ensamblados que coinciden con dicho nombre y sus recuentos de referencias correspondientes.

/nologo

Suprime la presentación de la portada de inicio de Microsoft.

/r [assemblyName | assemblyPath]

scheme

id

description

Especifica una referencia de seguimiento a un ensamblado o a varios ensamblados que se vayan a instalar o desinstalar. Especifique esta opción con las opciones /i, /il, /u o /ul.

Para instalar un ensamblado, especifique los parámetros assemblyPath, scheme, id, y description con esta opción. Para desinstalar un ensamblado, especifique los parámetros assemblyName, scheme, id, y description.

Si desea quitar una referencia a un ensamblado, debe especificar los mismos parámetros scheme, id y description que los que se especificaron con las opciones /i y /r (o /ir) al instalar el ensamblado. A la hora de desinstalar un ensamblado, conviene saber que la herramienta también elimina el ensamblado de la caché de ensamblados global si se trata de la última referencia que se va a eliminar y si Windows Installer no tiene referencias pendientes al ensamblado.

El parámetro scheme especifica el tipo de esquema de instalación. Puede especificar uno de los siguientes valores:

  • UNINSTALL_KEY: especifique este valor si el instalador agrega la aplicación a Agregar o quitar programas en Microsoft Windows. Las aplicaciones se agregan por sí mismas a Agregar o quitar programas ya que agregan una clave del Registro a HKLM\Software\Microsoft\Windows\CurrentVersion.

  • FILEPATH: especifique este valor si el instalador no agrega la aplicación a Agregar o quitar programas.

  • OPAQUE: especifique este valor si el suministro de una clave del Registro o de una ruta de acceso de archivo no son opciones que puedan aplicarse a su escenario de instalación. Este valor permite especificar información personalizada para el parámetro id.

El valor que hay que especificar para el parámetro id depende del valor especificado para el parámetro scheme:

  • Si especifica UNINSTALL_KEY para el parámetro scheme, especifique el nombre de la aplicación establecida en la clave del Registro de HKLM\Software\Microsoft\Windows\CurrentVersion. Por ejemplo, si la clave del Registro es HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp, especifique MyApp para el parámetro id.

  • Si especifica FILEPATH para el parámetro scheme, especifique la ruta de acceso completa al archivo ejecutable que instala el ensamblado como parámetro id.

  • Si especifica OPAQUE para el parámetro scheme, puede suministrar cualquier dato como parámetro id. Los datos que especifique deben ir entre comillas ("").

El parámetro description permite especificar texto descriptivo acerca de la aplicación que se va a instalar. Esta información se muestra cuando se enumeran las referencias.

/silent

Suprime la presentación de todos los resultados.

/u assemblyName

Desinstala un ensamblado de la caché de ensamblados global.

/uf assemblyName

Fuerza la desinstalación de un ensamblado específico mediante la eliminación de todas las referencias a éste.

Especificar esta opción equivale a especificar las opciones /u y /f juntas.

Nota

No se puede utilizar esta opción para quitar un ensamblado instalado con Microsoft Windows Installer. Si intenta realizar esta operación, la herramienta muestra un mensaje de error.

/ul assemblyListFile

Desinstala uno o varios ensamblados especificados en assemblyListFile de la caché de ensamblados global.

/u[ngen] assemblyName

Desinstala el ensamblado especificado de la caché de ensamblados global. Si el ensamblado especificado tiene contadores de referencia, la herramienta muestra dichos contadores y no quita el ensamblado de la caché de ensamblados global.

Nota

/ungen no se admite en .NET Framework versión 2.0. En su lugar, utilice el comando uninstall de Generador de imágenes nativas (Ngen.exe).

En .NET Framework versiones 1.0 y 1.1, si se especifica /ungen, se logra que Gacutil.exe quite el ensamblado de la caché de imágenes nativas. Esta caché almacena las imágenes nativas de los ensamblados creados utilizando Generador de imágenes nativas (Ngen.exe).

/ur assemblyName

scheme

id

description

Desinstala una referencia a un ensamblado especificado de la caché de ensamblados global. Si desea quitar una referencia a un ensamblado, debe especificar los mismos parámetros scheme, id y description que los que se especificaron con las opciones /i y /r (o /ir) al instalar el ensamblado. Para obtener una descripción de los valores válidos para especificar en estos parámetros, vea la opción /r.

Especificar esta opción equivale a especificar las opciones /u y /r juntas.

/?

Muestra la sintaxis de comandos y opciones para la herramienta.

Comentarios

Esta herramienta proporciona prácticamente la misma funcionalidad que la extensión de la shell de Windows (Shfusion.dll) para ver la caché, pero es preferible utilizarla en secuencias de comandos de generación, archivos MAKE y archivos de proceso por lotes.

Específicamente, Gacutil.exe permite instalar y quitar ensamblados de la caché, así como enumerar el contenido de la misma.

Gacutil.exe proporciona opciones que admiten el recuento de referencias, que es parecido al esquema de recuento de referencias compatible con Windows Installer. Puede utilizar Gacutil.exe para instalar dos aplicaciones que instalen el mismo ensamblado; la herramienta realiza un seguimiento del número de referencias al ensamblado. Como consecuencia, el ensamblado permanecerá en el equipo hasta que se desinstalen ambas aplicaciones. Si utiliza Gacutil.exe para realizar instalaciones de productos propiamente dichas, utilice las opciones que admiten el recuento de referencias. Utilice las opciones /i y /r de forma conjunta para instalar un ensamblado y agregar una referencia al mismo a fin de enumerarlo. Utilice las opciones /u y /r de forma conjunta para quitar un contador de referencias para un ensamblado. Tenga en cuenta que el uso de las opciones /i y /u por separado no es compatible con el recuento de referencias. Es adecuado utilizar estas opciones durante el desarrollo del producto, pero no para realizar instalaciones de productos propiamente dichas.

Utilice las opciones /il o /ul para instalar o desinstalar una lista de ensamblados almacenados en un archivo de texto ANSI. El contenido del archivo de texto debe tener el formato correcto. Si desea utilizar un archivo de texto para instalar ensamblados, especifique la ruta de acceso de cada ensamblado en una línea independiente en el archivo. En el siguiente ejemplo se muestra el contenido de un archivo que contiene los ensamblados que se van a instalar.

myAssembly1.dll
myAssembly2.dll
myAssembly3.dll

Si desea utilizar un archivo de texto para desinstalar ensamblados, especifique el nombre completo de cada ensamblado en una línea independiente en el archivo. En el siguiente ejemplo se muestra el contenido de un archivo que contiene los ensamblados que se van a desinstalar.

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

Ejemplos

El comando siguiente instala el ensamblado mydll.dll en la caché de ensamblados global.

gacutil /i mydll.dll

El comando siguiente quita el ensamblado hello de la caché de ensamblados global, ya que no existen contadores de referencia para el ensamblado.

gacutil /u hello

Observe que el comando anterior puede quitar más de un ensamblado de la caché porque no se ha especificado completamente el nombre del ensamblado. Por ejemplo, si se han instalado en la caché las versiones 1.0.0.0 y 3.2.2.1 de hello, el comando gacutil /u hello quita los dos ensamblados.

Utilice el ejemplo siguiente para no quitar más de un ensamblado. Este comando quita sólo el ensamblado hello cuyos número de versión, referencia cultural y clave pública se han especificado completamente.

gacutil /u hello, Version=1.0.0.1, Culture="de",PublicKeyToken=45e343aae32233ca

El comando siguiente instala los ensamblados especificados en el archivo assemblyList.txt en la caché de ensamblados global.

gacutil /il assemblyList.txt

El comando siguiente quita los ensamblados especificados en el archivo assemblyList.txt de la caché de ensamblados global.

gacutil /ul assemblyList.txt

El comando siguiente instala myDll.dll en la caché de ensamblados global y agrega una referencia para enumerarlo. La aplicación MyApp utiliza el ensamblado myDll.dll. El parámetro UNINSTALL_KEY MyApp especifica la clave del Registro que agrega MyApp a Agregar o quitar programas en Windows. El parámetro description se especifica de la forma My Application Description.

gacutil /i /r myDll.dll UNINSTALL_KEY MyApp "My Application Description"

El comando siguiente instala myDll.dll en la caché de ensamblados global y agrega una referencia para enumerarlo. El parámetro scheme, FILEPATH, y el parámetro id, c:\applications\myApp\myApp.exe, especifican la ruta de acceso a la aplicación que va a instalar myDll.dll. El parámetro description se especifica de la forma MyApp

gacutil /i /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp

El comando siguiente instala myDll.dll en la caché de ensamblados global y agrega una referencia para enumerarlo. El parámetro scheme, OPAQUE, permite personalizar los parámetros id y description.

gacutil /i /r mydll.dll OPAQUE "Insert custom application details here" "Insert Custom description information here"

El comando siguiente quita la referencia a myDll.dll por medio de la aplicación myApp. Si se trata de la última referencia al ensamblado, también eliminará el ensamblado de la caché de ensamblados global.

gacutil /u /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp

El comando siguiente enumera el contenido de la caché de ensamblados global.

gacutil /l

Vea también

Referencia

Herramientas de .NET Framework
Visor de la caché de ensamblados (Shfusion.dll)
Herramienta Registro de ensamblados (Regasm.exe)
Símbolo del sistema de SDK

Conceptos

Caché de ensamblados global