[# Ejecutar cualquier aplicación como un servicio de Windows ]
Cuando necesitemos ejecutar alguna aplicación como un servicio de Windows podemos usar srvany. Esto significa “Run any program as a service”, srvany es un proceso genérico de Windows NT/2000/XP que permite que cualquier programa se ejecute como un servicio mas.
Lo que debemos hacer para lograr esto es lo siguiente:
1- srvany viene incluido en el Microsoft Windows NT Resource Kit junto con otras aplicaciones que sirven para realizar tareas administrativas, de automatización e instalación de software y demás. Podemos descargarnos el Kit entero desde aqui o simplemente podemos descargarnos la aplicación que nos interesa en este momento (srvany) desde esta
dirección.
2- Una vez que ya tengamos los archivos necesario (srvany.exe e instsrv.exe) lo siguiente es hacer que nuestro programa corra como un servicio mas, para ello pondremos a los archivos que descargamos juntos en un directorio. Luego abriremos una ventana de Símbolo de Sistema de MS-DOS (Inicio –> Ejecutar –> cmd) y navegaremos hasta el directorio donde tenemos los archivos que descargamos. Una vez allí escribiremos los siguientes comandos:
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_MACHINESYSTEMCurrentControlSetServices[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 programaaplicacionmiaplicacion.exe
4- Cerramos el Editor de Registro.
Por defecto un servicio creado recientemente esta configurado para que inicie la próxima vez que se reinicie el sistema, si deseamos configurarlo para que lo haga en este momento o cambiar la forma en que inicia el mismo a Manual por ejemplo lo podemos hacer desde la ventana de Servicios (Inicio –> Ejecutar — > services.msc)
NOTA: para borrar un servicio agregado lo que debemos hacer es abrir una ventana de Símbolo de Sistema de MS-DOS y dirigirnos al directorio donde tenemos los archivos que descargamos, una vez ahí escribimos lo siguiente:
NOTA: este procedimiento fue probado en Windows 2000/XP/2003 Server, no fue probado en Vista.
NOTA: el archivo SRVANY.EXE debe quedar siempre en el mismo directorio mientras el servicio este corriendo, de lo contrario no funcionara.
NOTA: alguna aplicaciones deben recibir parámetros al momento de ejecutarlas, asegúrese de que sea así al momento de agregar el servicio.
NOTA: debe poseer permisos de Administrador para realizar este proceso.
Richard07
Entradas relacionadas
Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.



Esto es excelente, pero tengo una pregunta…
Funciona tambien con aplicaciones winforms?
hice una aplicacion winforms, y siguiento todos estos pasos la “converti” en un servicio. Pero no aparece ninguna ventana ni nada cuando le doy start al servicio. En realidad lo que necesito es que aparezca la ventana una vez para cargar unos datos y despues que el “servicio” corra hasta que halla que volver a cargar los datos (es decir, detener el servicio).
Hola Galu, no me quedo muy claro que es lo que necesitas hacer. Si podrias explicarlo de otra manera, te lo agradeceria. Y si es posible pega algun mensaje de error en caso de que exista .. Saludos.
Mi pregunta es la siguiente, mi palicacion esta echa en java, el como hace para saber donde esta mi aplicacion, yo supose en ponerla en la misma carpeta donde se encuentra el srvany, si es asi, puse el .class y el .jar y el servicio se instala pero no inicia.
Gracias
Hola Mendez, me parece que tendrias que utilizar algun tipo de aplicacion para convertir el .jar en .exe.. Fijate si esto te sirve, http://luauf.com/2008/04/19/convertir-una-aplicacion-java-en-un-exe-de-windows/, saludos..