2012-01-23 24 views
6

Estoy ejecutando un servicio de Windows que inicia un simple archivo bat durante el inicio, pero el servicio no se iniciará. Si trato de ejecutarlo manualmente desde la GUI de servicio recibo un mensaje de error.Windows 7 bat archivo no se inicia como un servicio

Error 1053: El servicio no respondió a la solicitud de inicio o control de una forma oportuna

Esto parece ser un error común durante el inicio del servicio, sin embargo no he encontrado un problema similar en las otras respuestas. He creado el servicio de la línea de comandos con comando siguiente

C:\Users\Administrator>sc create service_name binpath= c:\service.bat start= auto 
[SC] CreateService SUCCESS 

Luego ejecutar con

C:\Users\Administrator>sc start service_name 

Sin embargo, me dieron el mensaje de error:

[SC] StartService FALLIDA 5:

Acceso denegado.

Si lo ejecuto desde el símbolo del sistema como administrador, no obtengo el mensaje de acceso denegado, pero obtengo el error 1053. Supongo que ejecutar un archivo bat como un servicio de Windows no debería ser tan difícil. ¿Algunas ideas?

+0

No puede ejecutar archivos por lotes como servicios como ese, ya que CoreTech dijo que necesitará un contenedor para ejecutarlo correctamente. –

Respuesta

7

Recibe el primer error porque su archivo de proceso por lotes no puede negociar/interactuar con el subsistema de Servicios de Windows. Cuando Windows inicia un servicio, el sistema operativo espera unos segundos para que el servicio informe que se ha iniciado correctamente. Si esta señal nunca llega (como con su archivo por lotes, que no sabe nada sobre los Servicios), Windows informará el error # 1053.

Necesitará una aplicación "envoltura" para ejecutar su archivo por lotes como un servicio. El free "SRVANY" utility from Microsoft puede funcionar para usted, pero también debe investigar las alternativas comerciales más completas.

+0

'srvany' funciona bien para tales casos –

+1

Ese parecía ser el problema. Está funcionando bien ahora con srvany e instsrv en la línea de comandos dando c: \ Tools \ instsrv.exe myservice c: \ Tools \ srvany.exe. Primero, el archivo bat necesita ser compilado en exe y luego 2 cambios en el registro de servicios (HKEY_LOCAL_MACHINE> SYSTEM> CurrentControlSet> services> myservice) valores a través de regedit. Agregué una nueva clave llamada Parámetros con valores de cadena AppDirectory y Aplicación con valores c: \ mypath y c: \ mypath \ mybat.exe. Con esos cambios, funciona ahora. Muchas gracias por la ayuda:) – BFinn

Cuestiones relacionadas