He creado e instalado un servicio un par de veces. Inicialmente estaba trabajando bien, pero después de algunos cambios en el Código del servicio que empezar a dar el mensaje de error al reiniciar el servicio y Servicios.msc :

Error 1053: el servicio no ha respondido a la petición o inicio del control en un tiempo oportuno

Código:

public partial class AutoSMS : ServiceBase
{
    public AutoSMS()
    {
        InitializeComponent();
        eventLog1.Clear();

        if (!System.Diagnostics.EventLog.SourceExists("MySource"))
        {
            System.Diagnostics.EventLog.CreateEventSource(
                "MySource", "MyNewLog");
        }
        eventLog1.Source = "MySource";
        eventLog1.Log = "MyNewLog";

        Timer checkForTime = new Timer(5000);
        checkForTime.Elapsed += new ElapsedEventHandler(checkForTime_Elapsed);
        checkForTime.Enabled = true;

    }

    protected override void OnStart(string[] args)
    {
        eventLog1.WriteEntry("In OnStart");
    }

    protected override void OnStop()
    {
        eventLog1.WriteEntry("In onStop.");
    }


    void checkForTime_Elapsed(object sender, ElapsedEventArgs e)
    {
        string Time = "15:05:00";
        DateTime dateTime = DateTime.ParseExact(Time, "HH:mm:ss",
                                        CultureInfo.InvariantCulture);

        if (DateTime.Now == dateTime) ;
            eventLog1.WriteEntry(Time);
    }
}

Aquí es mi principal método de código de

static void Main()
{
    ServiceBase[] ServicesToRun;
    ServicesToRun = new ServiceBase[] 
    { 
        new AutoSMS() 
    };
    ServiceBase.Run(ServicesToRun);
}

También probé los siguientes pasos :

  • Ir a Inicio > Ejecutar > y escriba regedit
  • Vaya a: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
  • Con el control de la carpeta seleccionada, haga clic derecho en el panel derecho y seleccione nuevo Valor DWORD
  • Nombre de la nueva DWORD: ServicesPipeTimeout
  • Haga clic con el botón secundario ServicesPipeTimeout y, a continuación, haga clic en Modificar
  • Haga clic en Decimal, escriba ‘180000’ y, a continuación, haga clic en ACEPTAR
  • Reinicie el equipo

He utilizado para instalar y desinstalar con el siguiente comando :

installutil AutoSMS.exe

installutil /u AutoSMS.exe
  • ¿Qué hace el registro de eventos de Windows decir? O qué decir Error 1053? Podría ser una cuestión de derechos. Intente ejecutar el servicio tal y como Local System usuario.
  • En el futuro podría ser útil para el uso del Sistema.Diagnotstics.Depurador.Lanzamiento() en el método Main() para que pueda trabajar con el depurador.
InformationsquelleAutor Neeraj Verma | 2014-06-15

29 Comentarios

  1. 22

    Como otros han señalado, este error puede tener una multitud de causas. Pero en la esperanza de que esto ayude a alguien, voy a compartir lo que sucedió en nuestro caso. Para nosotros, nuestro servicio se había elevado .NET 4.5, pero el servidor no tiene .NET 4.5 instalado.

    • La multitud es la correcta. El error puede aparecer si tiene errores dentro de su servicio. De manera relacionada a su código, no el marco.
    • En torno al tema de .NET – hemos recibido este mensaje porque nuestro servicio de windows se ejecuta en .NET 2.0, cuando nos mudamos a un Windows 2019 instancia (que no tenía .NET 2.0 instalado), llegamos a este error. Nos tomó un día completo a la figura de este uno – así que espero que esto pueda ayudar a alguien de fuera.
  2. 22

    En mi caso, yo era el servicio de publicación mientras estaba en modo de depuración.

    Solución era:

    • Cambio de solución a modo de lanzamiento
    • Desinstalar la antigua servicio con el comando InstallUtil -u WindowsServiceName.exe
    • la instalación de servicio de nuevo InstallUtil -i WindowsServiceName.exe

    Funcionó perfectamente después.

    • El hombre me rasqué la cabeza en esto por un rato. Comprobación de los archivos de configuración y los registros de sucesos sin fin hasta que he leído esta respuesta y patadas a mí mismo para olvidar para voltear la construcción de su liberación. Esto funcionó para mí!
    • Sólo el cambio a la liberación, trabajó para mí
  3. 10

    He encontrado con el mismo problema y no estaba del todo seguro de cómo resolverlo. Sí, esto se produce debido a una excepción lanzada por el servicio, pero hay algunas pautas generales que se pueden seguir para corregir este:

    • Compruebe que ha escrito el código correcto para iniciar el servicio:

      ServiceBase[] ServicesToRun;
      ServicesToRun = new ServiceBase[]
      {
      new WinsowsServiceToRun()
      };
      ServiceBase.Run(ServicesToRun);
    • Usted necesita para asegurarse de que hay una especie de bucle infinito que se ejecutan en la clase WinsowsServiceToRun

    • Por último, puede haber algún código que no registro nada y se cierra el programa abruptamente (que fue el caso con me), en este caso, usted tendrá que seguir la vieja escuela de la depuración que se necesita para escribir una línea a la fuente (texto/db/donde). A lo que me enfrentaba era que desde la cuenta que ejecuta el servicio no era «Admin», el código se acaba de caerse y no el registro de excepciones en caso de que se estaba tratando de escribir en «Registro de Eventos de Windows» incluso a pesar de que el código estaba allí para registro de excepciones. Privilegio de administrador no es realmente necesario para el registro a Registro, pero es necesario para definir la fuente. En caso de que la fuente del evento ya no está definida en el sistema y el servicio intenta iniciar sesión por primera vez, sin privilegio de administrador de falla. Para resolver este siga los siguientes pasos:

      1. Abra el símbolo del sistema con privilegio de administrador de
      2. Pegar el comando : eventcreate /ID 1 /L APPLICATION /T INFORMATION /SO <<Source>> /D "<<SourceUsingWhichToWrite>>"
      3. Presione entrar
      4. Ahora iniciar el servicio
    • bonita respuesta, en mi caso el problema es ServiceBase.Run(ServicesToRun); de la línea de acceso. dado que el servicio también está diseñado de manera que se puede ejecutar en línea de comandos que me perdí la conf. perdida de la configuración y el desperdicio de horas…
    • Sí una miss config lleva a cabo una gran cantidad de tiempo. Fuera de los mencionados me enfrenté a dos y me llevó horas a la figura de la misma. Gracias por upvoting y la edición.
    • Lo que config a qué te refieres?
    • en ese momento he añadido una clave para la aplicación.config para decidir si se ejecuta como servicio de windows o como un programa de línea de Comandos. algo así como runasservice=»true» y cuando me puse a false ServiceBase.Ejecutar(ServicesToRun); nunca se llama
    • OK gracias. En mi caso he utilizado Sistema.Diagnotstics.Depurador.Lanzamiento() para iniciar la depuración en el VS y se encontró fue una excepción porque el CurrentDirectory se establece en windows/system32
    • bien hecho, lo puedo sentir, maldita directorio de errores 🙂
    • Me estaba arreglando un servicio para un compañero de trabajo, por desgracia, en la generación de depuración no llame a la ServiceBase.Run método, acaba de llamar el método para procesar directamente. #if !DEBUG debe utilizarse con moderación.

  4. 9

    He intentado este código en local .Net 4.5 y el servicio se inicia y se detiene correctamente para mí. Sospecho que tu problema puede estar en torno a la creación del Registro de origen.

    El método:

    EventLog.SourceExists("MySource")

    requiere que el usuario que ejecuta el código debe ser un administrador, como por la documentación aquí:

    http://msdn.microsoft.com/en-us/library/x7y6sy21(v=vs 110).aspx

    Comprobar que el servicio se ejecuta como un usuario que tenga privilegios de administrador.

    • Empecé el servicio.msc con la cuenta de administrador y también trató de instalar y desinstalar service.exe con símbolo del sistema como Ejecutar como Administrador …Todavía no está funcionando
    • Usted debe comprobar para ver lo que cuenta el servicio se ejecuta bajo, en lugar de ejecutar el símbolo del sistema para instalar el service como administrador. En Servicios, haga clic en el AutoSMS servicio y seleccione Propiedades -> iniciar Sesión ficha. Pruebe a seleccionar la parte superior de la radio botón de radio para Sistema Local de la cuenta
    • Sí …ya lo hice que inicialmente
    • .net framework versión es la clave para la solución. nada más. he sustituido .net framework 4.0 con 4. 5 después de que el servicio se ha iniciado sin problemas.
    • Cuando me comentó EventLog cosa, mi servicio comenzó a trabajar. Pero necesito EventLog aunque corrí símbolo del sistema como Administrador. Creo que símbolo del sistema como Administrador no soluciona el problema.
  5. 8

    Después de pasar algún tiempo en el problema, tratando de soluciones que no funcionan, he de ejecutar en este blog. Se sugiere para envolver el servicio de código de inicialización en un bloque try/catch, como este, y la adición de EventLog

    using System;
    using System.Diagnostics;
    using System.ServiceProcess;
    
    namespace WindowsService
    {
        static class Program
        {
            static void Main()
            {
                try
                {
                    ServiceBase[] ServicesToRun;
                    ServicesToRun = new ServiceBase[] 
                    { 
                        new Service1() 
                    };
                    ServiceBase.Run(ServicesToRun);
                }
                catch (Exception ex)
                {
                    EventLog.WriteEntry("Application", ex.ToString(), EventLogEntryType.Error);
                }
            }
        }
    }

    A continuación, desinstalar el antiguo servicio, volver a implementar el servicio con estas modificaciones. Iniciar el servicio y revisa el Visor de Sucesos/registro de la Aplicación. Vas a ver cuál es el problema real, que es la razón subyacente para el tiempo de espera.

  6. 5

    Después de gastar mucho tiempo en este asunto. He encontrado el EventLog causa de todo ese lío, aunque yo lo he utilizado correctamente.

    Quien hacer frente a este problema, yo sugeriría usted para deshacerse de la EventLog.
    Mejor uso de las herramientas como «log4net«.

  7. 4

    Es debido a que el Servicio de Microsoft Windows Control, los controles a veces el estado de los servicios. Si el servicio no enviar una respuesta en 30 segundos, entonces usted va a tener este error.

    Puede modificar el registro, por lo que el servicio dispondrá de más tiempo para responder

    Go to Start > Run > and type regedit
    Navigate to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
    With the control folder selected, right click in the pane on the right and select new DWORD Value
    Name the new DWORD: ServicesPipeTimeout 
    Right-click ServicesPipeTimeout, and then click Modify
    Click Decimal, type '180000', and then click OK
    Restart the computer

    O estar seguro de que en ese momento no hay otro proceso de hablar con el servicio, tal vez hay un conflicto no sé

  8. 3

    Estaba recibiendo exactamente el mismo problema, Todo lo que he hecho es cambiar el modo de Depuración para Liberar al compilar la dll. Esto se ha resuelto mi probelm, cómo y por qué? No sé, ya he pedido un pregunta en TAN

    • Me encontré con el mismo problema y la solución. No estoy seguro de por qué esto funciona, pero gracias!
    • Esto funcionó para mí. Fue la liberación de la Dll utilizando el modo de depuración se encontró con el problema. Después de la construcción de la solución utilizando el modo de disparador. Funcionó a la perfección.
  9. 1

    De verificación ConnectionStrings si usted está usando EntityFramework o cualquier otro medio para iniciar conexiones de base de datos en el inicio del servicio.

    En mi caso cuando tengo el error Error 1053 the service did not respond to the start or control request in a timely fashion esto es lo que iba mal:

    Yo estaba usando EntityFramework y tenía las cadenas de conexión equivocada. Así que, básicamente, en el inicio de la EntityFramework no se pudo conectar a la base de datos utilizando la Cadena de Conexión incorrecta y agotado.

    Sólo tenía que reemplazar la base de datos de la cadena de conexión con el correcto y funcionó bien.

    No necesita ninguna actualización de marco de trabajo o cualquier otro sistema/configuración cambia en absoluto.

  10. 1

    Esto funcionó para mí. Básicamente, asegúrese de que el Registro de usuario se establece en el derecho. Sin embargo, depende de cómo la infraestructura de la cuenta se establece. En mi ejemplo es el uso de ANUNCIOS de la cuenta de credenciales de usuario.

    En el menú de inicio cuadro de búsqueda de la búsqueda para «Servicios»
    -En los Servicios de encontrar el servicio requerido
    -haga clic derecho y seleccione la ficha iniciar Sesión
    -Seleccione «Esta cuenta» e introduzca el contenido de/credenciales
    -Ok y el inicio del servicio, como de costumbre

    El Error 1053 el servicio no ha respondido a la petición o inicio del control en un tiempo oportuno

  11. 1

    Una de las posibles soluciones para este problema Se corrigió el problema en mi final y mi solicitud es JAVA base de la solicitud ]:

    1) compruebe su aplicación apunta a corregir la versión de java(comprobar la versión de java y la ruta de acceso de la aplicación).

    O

    2)compruebe la configuración de la versión de java me.e verificar si es la versión de 32 bits o de 64 bits(según la aplicación). si usted está usando 32 bits, entonces usted debe utilizar la versión de 32 bits de JSL, más JSL va a causar este problema.

  12. 1

    Esto normalmente es causado por una excepción no capturada en el propio servicio. (Archivo de configuración de errores por ejemplo). Abrir un símbolo del sistema e iniciar el archivo ejecutable del servicio manualmente wil tal vez revelan la excepción sido lanzado.

    • Problem signature: P1: YourServiceName.exe ... P4: System.Configuration ... P9: System.TypeInitialization
  13. 1

    He instalado .Net 4.6 en mi WindowsServer equipo y el error fue corregido.

    Su control debe ser de esta manera:

    1. Comprobar el .net versión de su WindowsService
    2. A continuación, compruebe el .net versión de su equipo
    3. Que coincidan con esa versión, ya que probablemente no se corresponde
  14. 1

    Sé que esto es la vieja pregunta,
    Yo solía escribir mi propio VB.NET servicio de windows, y no tiene ningún problema para iniciar en MS windows 7 y MS windows 10.

    Tengo este problema cuando instalo los servicios de windows en la última MS windows 10 patch. La razón por la que el servicio de windows no funciona es porque la .NET versión que se requiere para la ventana de los servicios a ejecutar no se presenta en el PC instaladas.

    Después de haber instalado los servicios de windows. ir a la carpeta de instalación por ejemplo C:\Program files (x86)\Service1\Service1.exe y haga doble clic para ejecutarlo. Si hay falta .NET framework paquete, se le pedirá al usuario que la descargue. Sólo tienes que descargar y esperar a que se instale.

    Después de que reinicie los servicios de windows en servicios.msc.
    Espero que esta respuesta va a ayudar a alguien que se enfrentan a la cuestión. Sé problema está causado por .NET framework versión.

  15. 0

    En mi caso, el tema era acerca de la configuración de almacenamiento en caché que se establece en la Aplicación.archivo de configuración. Una vez me quitaron por debajo de las líneas de la Aplicación.archivo de configuración, el problema se ha resuelto.

    <cachingConfiguration defaultCacheManager="MyCacheManager">
    <cacheManagers>
      <add name="MyCacheManager" type="Microsoft.Practices.EnterpriseLibrary.Caching.CacheManager, Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
           expirationPollFrequencyInSeconds="60"
           maximumElementsInCacheBeforeScavenging="50000"
           numberToRemoveWhenScavenging="1000"
           backingStoreName="NullBackingStore" />
    </cacheManagers>
    <backingStores>
      <add type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.NullBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
           name="NullBackingStore" />
    </backingStores>

    • estoy frente a un mismo problema, pero no en todos los sistemas. he creado un servicio de windows. su ejecutando bien la mayoría de los sistema. en un par de sistemas solo estoy frente a este error 1503. traté de regedit, ventana de cmd – evento. no uso!
    • ¿ha intentado la eliminación de estas partes, desde los sistemas específicos .archivo de configuración?
    • yo no tengo ese tipo de líneas»cachingConfiguration» en mi .archivo de configuración. estoy tratando de instalar .net 4.5 marco de esos sistemas. se está descargando
    • oh, ya veo. lo siento, no sé cómo se resuelven. :/
    • he utilizado install shield le para generar el archivo de configuración de este servicio de windows. cuando estaba desarrollando este servicio de windows de mi sistema, que ha VS2012. .net framework 4.5. supuse que este servicio requiere min .net framework 4.0. cuando me instale en otro sistema que tiene .net 4.0 puede causar este problema. yo no soy anand, estoy pranesh.
    • tengo la solución para el error de 1503. La cuestión es .net framework versión. mi servicio requerido .net framework 4.5, pero en el sistema fue de 4.0. así que el inicio del servicio emitido el error de 1503. ahora rectificado!! algunos de los que uno se haga una idea de su problema de esto! gracias a todos

  16. 0

    En mi caso yo tenía al parecer algunos símbolos extra en mi Aplicación.archivo de configuración que no me di cuenta cuando la construcción de mi solución.
    Lo recomiendo para comprobar el archivo de configuración para los errores antes de tomar medidas con el cambio de claves del registro, el cambio de los modos de configuración, etc.

    • Por símbolos extra que significa una configuración adicional o no válido no deseado de personajes, lo que hace que la estructura xml no válido)? Puede por favor compartir los detalles acerca de la continuación, en su respuesta.
  17. 0

    Tenía dos servicios en ejecución que fueron accidentalmente junto a la misma EventSource eventLog.Source = "MySource"; Después de la desinstalación de ambos servicios, y volver a instalar el que sufrió el error 1053, mi servicio inicia normalmente.

  18. 0

    En mi experiencia, tuve que dejar mi servicio existente para actualizar el código. después de actualizar el código y mientras INICIAR el Servicio tengo el mismo error «Error 1053 el servicio no ha respondido a la petición o inicio del control en un tiempo oportuno».

    Pero esto se resuelve después de REINICIAR LA MÁQUINA.

  19. 0

    Verificar si el servicio a partir de código es correcto,

    ServiceBase[] ServicesToRun;
    ServicesToRun = new ServiceBase[] 
    { 
        new WinsowsServiceToRun() 
    };
    ServiceBase.Run(ServicesToRun);

    También, eliminar cualquier depurar los códigos.
    es decir,

      #If Debug
             ...
             ...
             ...
            #else
             ...
             ...
            #endif
  20. 0

    Yo tenía el mismo problema.
    Desmarcando «Cantar el manifiesto de ClickOnce», «Signo de la asamblea» y «Habilitar la configuración de seguridad de ClickOnce» en las propiedades del proyecto ayudó a

  21. 0

    Mi problema era el de appsettings.json no copiar a la compilación de la versión de la carpeta durante la construcción y simple de ponerlo en el ...\bin\Release carpeta y copiar launchSettings.json contenido appsettings.json resuelto el problema para mí.

  22. 0

    He tenido el mismo problema.
    Parece que al iniciar el servicio el hilo principal no debería ser el principal subproceso de trabajo.
    Mediante la creación de un nuevo hilo y a la entrega de la obra principal para que el hilo resuelto mi problema.

  23. 0

    Me rasqué la cabeza para borrar este error
    Este error puede ser causado si se depura en el código de

    static void Main()
    {
     #if DEBUG
                MailService service = new MailService();
                 service.Ondebug();
     #else
                 ServiceBase[] ServicesToRun;
                 ServicesToRun = new ServiceBase[]
                 {
                     new MailService()
                 };
                 ServiceBase.Run(ServicesToRun);
     #endif
             }
         }

    Después de borrar el if,else y endif en el código como este el error no ha aparecido de nuevo….espero que ayude….

    static void Main()
    {
    
        ServiceBase[] ServicesToRun;
        ServicesToRun = new ServiceBase[]
        {
            new MailService()
        };
        ServiceBase.Run(ServicesToRun);
    
    }
  24. 0

    este error puede ser causado debido a varias razones. para identificar la razón de agregar try/catch cuando el servicio se ejecute.

            try
                {
                    ServiceBase[] ServicesToRun;
                    ServicesToRun = new ServiceBase[] 
                    { 
                        new Service1() 
                    };
                    <span class="skimlinks-unlinked">ServiceBase.Run(ServicesToRun</span>);
                }
                catch (Exception ex)
                {
                    EventLog.WriteEntry("Application", ex.ToString(), <span class="skimlinks-unlinked">EventLogEntryType.Error</span>);
                }
  25. 0

    También, usted necesita revisar su archivo de configuración de contenido.

    Usted necesita para comprobar debajo de la sección.

    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
    </startup>

    Coz por encima de sección necesita para que coincida con el tuyo .net framework.

  26. 0

    En el caso que me encontré esta mañana, era el culpable de un mal archivo de configuración. El archivo de configuración tenido un cierre de etiqueta de comentario sin abrir etiqueta de comentario. Así, revise sus archivos de configuración de los errores.

  27. -1

    una posible razón es:

    desajuste de servicio de windows .net versión & su sistema .net versión.

    • Esto es básicamente idéntica a la respuesta de arriba de un mes antes
  28. -2

    La construcción del Servicio de

    Para construir su proyecto de servicio en el Explorador de soluciones, abra el menú contextual de su proyecto y, a continuación, elija Propiedades. Las páginas de propiedades para el proyecto se muestran.
    En la Aplicación de la ficha, en el Inicio de objeto de la lista, elija MyService.Programa.

    • Esto no es relevante para la cuestión

Dejar respuesta

Please enter your comment!
Please enter your name here