¿Cómo puedo instalar un servicio de Windows en una máquina que no tiene Visual Studio instalado?
La única forma de instalar el servicio de Windows que conozco es usando el " Símbolo del sistema de Visual Studio 2008 ". ¿Hay alguna forma de instalar el servicio de Windows en una máquina que no tenga Visual Studio instalado (supongamos que .Net versión 2.X es instalado.)
puedes hacerlo con installUtil
el que reside en la carpeta .net framework (en mi máquina es C:\Windows\Microsoft.NET\Framework\v2.0.50727).
Puede instalar los servicios de Windows como MSI. Cree el MSI como un proyecto normal adjunto a su proyecto de servicio.
En su proyecto de servicio, cree una clase de instalador y agregue los componentes serviceInstaller y serviceProcessInstaller y configúrelo según sea necesario. Agregue la salida del proyecto del proyecto de servicio al proyecto MSI, establezca las acciones personalizadas del proyecto MSI para instalar, confirmar, revertir y desinstalar a la salida del proyecto de servicio.
Modifique el Proyecto MSI de cualquier otra forma que desee, cree el MSI y luego podrá instalar su Servicio en cualquier máquina con Windows sin VS.NET o utilizando la aplicación de utilidad InstallUtil. El MSI también se encargará de la desinstalación, etc.
Hay propiedades del componente serviceProcessInstaller que puede configurar para que la cuenta ejecute el servicio; el serviceInstaller contiene propiedades que se pueden configurar, como el nombre del servicio. Tendrá que configurar el nombre del servicio y su padre. MSDN proporcionará buena información sobre cómo utilizar ambos componentes.
Página de MSDN relevante: http://msdn.microsoft.com/en-us/library/sd8zc8ha%28VS.80%29.aspx
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil.exe yourproject.exe
No es necesario tener instalado Visual Studio para que esto funcione.
Sí, installutil.exe
funciona bien, pero me cansé de tener que acordarme de iniciar el símbolo del sistema de Visual Studio 2008 para poder usarlo. Invariablemente, abría una consola normal sólo para darme cuenta de que la installutil.exe
ubicación no era parte del camino.
Afortunadamente, installutil.exe
es un contenedor de un conjunto de llamadas de reflexión. Desde MSDN,
Installutil.exe
utiliza la reflexión para inspeccionar el ensamblaje especificado y encontrar todosInstaller
los tipos con elRunInstallerAttribute
conjunto en verdadero. Luego, la herramienta ejecuta el método de instalación o el método de desinstalación en cada instancia delInstaller
tipo.
Lo que esto significa es que es posible agregar código al servicio de Windows para que se instale y desinstale solo. Al hacerlo, ya no necesito installutil.exe
el símbolo del sistema de Visual Studio 2008 para ejecutarlo.
He proporcionado una guía paso a paso sobre cómo hacer esto aquí . La -install
opción instala el servicio de Windows y lo inicia. Por el contrario, la -uninstall
opción detiene el servicio y lo desinstala.