Crear servicio de windows

19/08/2005 - 15:42 por Luis Miguel Cisneros León | Informe spam
Hola a todos!

tengo una duda, necesito correr un archivo .bat como un servicio de
windows, para que al iniciar la pc (antes de logonear) se ejecute este
archivo que carga un servidor de aplicaciones J2EE (el servidor JBoss
para aplicaciones empresariales en Java).

¿Como puede hacer esto?

muchas gracias
Luis Cisneros

Preguntas similare

Leer las respuestas

#1 Javier Inglés [MS MVP]
19/08/2005 - 15:49 | Informe spam
con un bat que sepa no es posible, a partir de un exe sepuede probar ésto,
cortesía de Fernando Reyes [MS MVP]:

How To Create a User-Defined Service

http://support.microsoft.com/defaul...-US;137890



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

<path>instsrv.exe "Nombre del Servicio" <path>srvany.exe

Es imprescindible pasar el path donde esten ambos ejecutables.

Una vez hecho esto, se abre regedit y en
HKLM\system\CurrentControlSet\Services verás que se ha creado una
clave(useasé carpeta) "Nombre del Servicio"(si abres la consola de servicios
verás que ya se ve en la lista); pinchas en el árbol en ella y creas una
subclave(useasé carpeta) llamada "Parameters", dentro de ella un valor de
cadena llamado "Application" y el valor que le pones es 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. Esto es así porque no se crea un servicio con el ejecutable en
realidad, si no que se crea con srvany como el ejecutable del servicio y el
ejecutable que queremos lanzar como parámetro (quizás si ubicamos srvany y
el ejecutable en la misma ruta...)

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)".


Salu2!!
Javier Inglés
MS MVP, Windows Server-Directory Services





"Luis Miguel Cisneros León" escribió en el mensaje
news:
Hola a todos!

tengo una duda, necesito correr un archivo .bat como un servicio de
windows, para que al iniciar la pc (antes de logonear) se ejecute este
archivo que carga un servidor de aplicaciones J2EE (el servidor JBoss para
aplicaciones empresariales en Java).

¿Como puede hacer esto?

muchas gracias
Luis Cisneros
Respuesta Responder a este mensaje
#2 Luis Miguel Cisneros León
19/08/2005 - 16:21 | Informe spam
Javier Inglés [MS MVP] wrote:

con un bat que sepa no es posible, a partir de un exe sepuede probar ésto,
cortesía de Fernando Reyes [MS MVP]:

How To Create a User-Defined Service

http://support.microsoft.com/defaul...-US;137890



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

<path>instsrv.exe "Nombre del Servicio" <path>srvany.exe

Es imprescindible pasar el path donde esten ambos ejecutables.

Una vez hecho esto, se abre regedit y en
HKLM\system\CurrentControlSet\Services verás que se ha creado una
clave(useasé carpeta) "Nombre del Servicio"(si abres la consola de servicios
verás que ya se ve en la lista); pinchas en el árbol en ella y creas una
subclave(useasé carpeta) llamada "Parameters", dentro de ella un valor de
cadena llamado "Application" y el valor que le pones es 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. Esto es así porque no se crea un servicio con el ejecutable en
realidad, si no que se crea con srvany como el ejecutable del servicio y el
ejecutable que queremos lanzar como parámetro (quizás si ubicamos srvany y
el ejecutable en la misma ruta...)

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)".





Gracias por responder...


es posible crar una aplicacion, digamos en .net (un servicio de windows
en .net) y desde este servicio mandar a ejecutar el .bat?
Respuesta Responder a este mensaje
#3 Javier Inglés [MS MVP]
19/08/2005 - 16:28 | Informe spam
ni idea socio, eso pregúntalo mejor en los foros de desarrollo

Salu2!!
Javier Inglés
MS MVP, Windows Server-Directory Services





"Luis Miguel Cisneros León" escribió en el mensaje
news:
Javier Inglés [MS MVP] wrote:

con un bat que sepa no es posible, a partir de un exe sepuede probar
ésto, cortesía de Fernando Reyes [MS MVP]:

How To Create a User-Defined Service

http://support.microsoft.com/defaul...-US;137890



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

<path>instsrv.exe "Nombre del Servicio" <path>srvany.exe

Es imprescindible pasar el path donde esten ambos ejecutables.

Una vez hecho esto, se abre regedit y en
HKLM\system\CurrentControlSet\Services verás que se ha creado una
clave(useasé carpeta) "Nombre del Servicio"(si abres la consola de
servicios
verás que ya se ve en la lista); pinchas en el árbol en ella y creas una
subclave(useasé carpeta) llamada "Parameters", dentro de ella un valor
de
cadena llamado "Application" y el valor que le pones es 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. Esto es así porque no se crea un servicio con el ejecutable en
realidad, si no que se crea con srvany como el ejecutable del servicio y
el
ejecutable que queremos lanzar como parámetro (quizás si ubicamos srvany
y
el ejecutable en la misma ruta...)

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)".





Gracias por responder...


es posible crar una aplicacion, digamos en .net (un servicio de windows en
.net) y desde este servicio mandar a ejecutar el .bat?
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida