Instalar programas como servicios

Para crear un servicio con un ejecutable lo puedes hacer con herramientas de Microsoft o con herramientas de terceros.

Con herramientas de Microsoft

Se necesitan dos programas del Kit de recursos, instsrv.exe y srvany.exe; se lanza desde un cmd la línea:

Es imprescindible pasar el path donde estén ambos ejecutables.

Una vez hecho esto, se abre regedit y en HKLM\system\CurrentControlSet\Services verás que se ha creado una clave “Nombre del Servicio”

pinchas en el árbol en ella y creas una subclave (subcarpeta) llamada “Parameters”, dentro de ella un valor de cadena llamado “Application” al que de contenido le pones Ruta\Nombre.exe. Ya tienes creado el servicio. De esta manera se crea con arranque automático y lanzado por cuenta del sistema; te metes en servicios y cambias lo que haga falta(se puede hacer desde línea de comandos con “sc.exe”).

Ten en cuenta que el programa debe recibir las rutas absolutas de donde deba acceder, ya que al arrancarse como servicio digamos que “desconoce” en qué ruta se encuentra su propio ejecutable, con lo que no sabe manejar rutas relativas.

Otra posibilidad, que a lo mejor te puede valer y es más simple, es lanzar la aplicación en un script de inicio del equipo; se abre el editor de políticas del sistema (gpedit.msc) y se especifica en “Configuración de equipo\Configuración de Windows\Archivos de comandos (inicio/apagado)”. De esta forma se ejecutará, si bien no será un servicio.

Por último, puedes editar el registro para que se lance desde la clave “HKLM\Software\Microsoft\Windows\CurrentVersion\Run”, creando un valor de tipo string (REG_SZ) al que llames como te parezca y que contenga la llamada al ejecutable. De esta forma se ejecutará, si bien no será un servicio.

Con herramientas de terceros

Existen herramientas de terceros que te permiten lanzar aplicaciones como servicios. Aquí pongo enlaces a cuatro de ellas:

Firedaemon http://www.firedaemon.com/

Application as service 1.0 http://www.eltima.com/products/application-as-service/

Service Mill http://www.activeplus.com/us/products/smill/

Serve All http://www.transsoft.com/view_content.asp?ID=25