Herramienta Installer (Installutil.exe)

Esta herramienta permite instalar y desinstalar recursos de servidor mediante la ejecución de los componentes del instalador en un ensamblado especificado. Además, funciona conjuntamente con las clases del espacio de nombres System.Configuration.Install.

installutil [/uninstall][option [...]]assemblyname ]
[option [...]]assemblyname 

Comentarios

Argumento Descripción

assemblyname

Nombre del ensamblado en que se ejecutan los componentes del instalador.

Opción Descripción

/h[elp]

Muestra la sintaxis de comandos y opciones para la herramienta.

/help assemblypath

Muestra las opciones adicionales reconocidas por instaladores individuales en el ensamblado especificado.

/?

Muestra la sintaxis de comandos y opciones para la herramienta.

/? assemblypath

Muestra las opciones adicionales reconocidas por instaladores individuales en el ensamblado especificado.

/LogFile=[filename]

Especifica el nombre del archivo de registro donde se graba el progreso de la instalación. El valor predeterminado es assemblyname.InstallLog.

/AssemblyName assemblyName

[,Version=major.minor.build.revision]

[,Culture=locale]

[,PublicKeyToken=publicKeyToken]]

Especifica el nombre de un ensamblado. El nombre del ensamblado debe ser completo con la versión, referencia cultural y el símbolo (token) de clave pública. El nombre completo debe ir entre comillas.

Por ejemplo, "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=2.0.0.0" es un nombre de ensamblado completo.

/LogToConsole={true|false}

Si se especifica true, muestra los resultados en la consola. Si se especifica false (valor predeterminado), suprime los resultados de la consola.

/ShowCallStack

Imprime la pila de llamadas en el registro si se produce una excepción en cualquier paso de la instalación.

/u[ninstall]

Desinstala un ensamblado. A diferencia de las demás opciones, /u se aplica a todos los ensamblados con independencia del lugar donde aparezca en la línea de comandos.

Comentarios

A partir de la versión 2.0 de .NET Framework, la versión de 32 bits de Common Language Runtime (CLR) continúa distribuyéndose sólo con la versión de 32 bits de la herramienta Installer, pero la versión de 64 bits de CLR se distribuye tanto con la versión de 32 bits como con la versión de 64 bits de dicha herramienta. Cuando utilice el CLR de 64 bits, emplee la herramienta Installer de 32 bits para instalar los ensamblados de 32 bits y la herramienta Installer de 64 bits para instalar los ensamblados de 64 bits y del Lenguaje intermedio de Microsoft. En caso contrario, ambas versiones de la herramienta Installer se comportan de la misma manera.

Las aplicaciones de Microsoft .NET Framework constan de archivos de programa tradicionales y recursos asociados, como colas de mensajes, registros de eventos y contadores de rendimiento que se deben crear al implementar la aplicación. Se pueden utilizar componentes del instalador de un ensamblado para que estos recursos se creen cuando la aplicación se instale y se quiten cuando la aplicación se desinstale. Installutil.exe detecta y ejecuta estos componentes del instalador.

Se pueden especificar varios ensamblados en la misma línea de comandos. Las opciones situadas delante de un nombre de ensamblado se aplican a la instalación de dicho ensamblado. Las opciones especificadas para un ensamblado se aplican a los ensamblados posteriores salvo que la opción se especifique de nuevo para otro ensamblado.

Si se ejecuta Installutil.exe con un ensamblado sin especificar opciones, la herramienta coloca los tres archivos siguientes en el directorio del ensamblado:

  • InstallUtil.InstallLog

    Contiene una descripción general del progreso de la instalación.

  • assemblyname.InstallLog

    Contiene información específica correspondiente a la fase de confirmación del proceso de instalación. Para obtener más información sobre la fase de confirmación, vea el método Installer.Commit.

  • assemblyname.InstallState

    Contiene datos que se utilizan para desinstalar el ensamblado.

Installutil.exe utiliza la reflexión para inspeccionar el ensamblado especificado y buscar todos los tipos Installer con el atributo RunInstallerAttribute establecido en true. A continuación, la herramienta ejecuta el método Install o el método Uninstall en cada instancia del tipo Installer. Installutil.exe realiza la instalación de forma transaccional; si la instalación de uno de los ensamblados falla, se deshacen las instalaciones de todos los demás ensamblados. El proceso de desinstalación no es transaccional.

Installutil.exe no puede instalar ni desinstalar los ensamblados con firma retrasada, pero puede instalar o desinstalar los ensamblados con nombre seguro.

Observe que no puede implementar un servicio de Windows creado utilizando C++ con Installutil.exe. Installutil.exe no puede reconocer el código nativo incrustado generado por el compilador de C++. Si intenta implementar un servicio de Windows de C++ con Installutil.exe, se producirá una excepción como BadImageFormatException. Para trabajar en este escenario, mueva el código de servicio a un módulo C++. A continuación, escriba el objeto instalador en C# o Visual Basic.

Ejemplos

El comando siguiente muestra una descripción de la sintaxis de comandos y de opciones.

installutil

El comando siguiente ejecuta los componentes del instalador en el ensamblado myAssembly.exe.

installutil myAssembly.exe

El siguiente comando ejecuta los componentes del instalador en un ensamblado mediante el modificador /AssemblyName y un nombre completo.

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

El comando siguiente ejecuta los componentes del desinstalador en el ensamblado myAssembly.exe.

installutil /u myAssembly.exe 

El comando siguiente ejecuta los instaladores en el ensamblado myAssembly.exe y especifica la información del progreso que se escribirá en myLog.InstallLog.

installutil /LogFile=myLog.InstallLog myAssembly.exe 

El comando siguiente escribe el progreso de instalación de myAssembly.exe en myLog.InstallLog y el progreso de myTestAssembly.exe en myTestLog.InstallLog.

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

Vea también

Referencia

Herramientas de .NET Framework
System.Configuration.Install Namespace
Símbolo del sistema de SDK