miércoles, 5 de octubre de 2011

Crear un servicio desde un programa

Lo primero que debemos hacer es descargar e instalar el Resource Kit Tools para Windows Server 2003, aunque esto también es aplicable y se puede instalar en XP.

Dentro de todas las utilidades ahora instaladas, estan: instsrv.exe y srvany.exe, que son las que vamos a usar para convertir un programa en servicio de Windows.

El siguiente paso es registrar el programa con un servicio válido, esto se hace con los siguientes comandos:

instsrv.exe srvany.exe

o bien

ruta\INSTSRV.EXE [mi servicio] ruta\SRVANY.EXE

Para no tener problemas en donde dice ruta pongan la ruta del directorio en el que estan los archivos junto con la letra asignada a la unidad. [mi servicio] es el nombre del servicio que deseamos correr. Puede ser cualquier nombre pero es recomendable que sea descriptivo. Si todo salio bien nos mostrara un mensaje diciéndonos que el servicio fue agregar satisfactoriamente.



Para asegurarnos que fue así debemos revisar el Registro de Windows, para realizar esto abriremos el Editor de Registro (Inicio –> Ejecutar –> regedit) y nos posicionaremos en la siguiente clave:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[mi servicio]



Si podemos ubicar el servicio creado anteriormente es porque todo salio bien.

3- Ahora seleccionaremos nuestro servicio, luego nos dirigimos al menú Edición –> Nuevo –> Clave, el nombre que le pondremos es “Parameters”. Seleccionaremos la clave “Parameters” y nos dirigimos nuevamente al menú Edición –> Nuevo –> Valor alfanumérico y le ponemos el nombre “Application”, veremos que se agrega este valor lo seleccionamos y hacemos clic con el botón derecho y seleccionamos “Modificar” y en “Información del valor” pondremos la ruta completa de la aplicación con la extensión.

ejemplo: C:\Archivos de programa\aplicacion\miaplicacion.exe

De ésta manera el programa ya está registrado como servicio, y aparecerá en la lista de servicios (services.msc) ahora solo debemos configurar unas ramas del registro:

* HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
* Cambiamos el valor de “ImagePath” por la ruta a srvany.exe (si instalamos el RK por defecto, C:\Archivos de programa\Windows Resource Kits\Tools\srvany.exe)
* Creamos una nueva clave (clic derecho, Nuevo / Clave) con nombre “Parameters”
* Dentro de “Parameters” creamos un nuevo valor alfanumérico (clic derecho, Nuevo / Valor alfanumérico) con la ruta completa al ejecutable del programa (ej. C:\Tool\dns.exe)

Con eso el programa quedará funcional, para comprobarlo, vamos a la lista de Servicios del Sistema (en Ejecutar, services.msc), donde podemos Iniciarlo, Pausarlo o Detenerlo. Si el programa necesita interactuar con el escritorio, es decir, necesitamos usarlo visualmente, vamos hasta la solapa Iniciar sesión, y tildamos “Permitir a los servicios que interactúen con el escritorio”

No hay comentarios: