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 no se produce la instalación de uno de los ensamblados, 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