none
Error al iniciar un Windows Service (Estado: Disabled) RRS feed

  • Pregunta

  • Buen día,

    Tengo un problema y quisiera ver si alguien tiene conocimiento de la situacion o quizas me pueda orientar para encontrar la solucion. Tengo una aplicacion que se encarga de publicar servicios de windows de manera remota a diversos servidores, los detiene, desinstala, cambia los archivos por nuevos, instala los servicios y los inicia. El problema esta cuando quiero volver a usar la aplicacion por una segunda vez, sin haberla cerrado, hace la mayoria de los procesos normalmente execpto al final, ya que el servicio al desinstalarse queda con estado de "Disabled". Creo que el problema reside en las funciones FTP, pero ya he hecho todos los cierres de conexion, de flujo de datos en cada funcion que utilizo, pero  aun sigo con el mismo problema. No se si algun proceso queda vivo al ejecutar la aplicación, por lo cual no libera el recurso en cuestion.

    Me gustaria saber si alguien ha pasado por algo similar o me puede aconsejar en este caso.

    Les agradezco de antemano,

    Saludos,

    martes, 5 de marzo de 2019 17:44

Todas las respuestas

  • Hola  

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te hago la recomendación de ingresar al siguiente enlace en donde puedes encontrar una posible solución para tu problema.

    https://stackoverflow.com/questions/2768125/start-a-disabled-windows-service

    https://support.microsoft.com/es-us/help/812519/services-that-are-turned-off-by-default-in-windows-server-2003

    https://answers.microsoft.com/en-us/windows/forum/all/aero-themes-broken-or-themes-service-disabled/896fb739-cecc-4093-b5d0-84849704d7e3

    https://www.tenforums.com/tutorials/4499-start-stop-disable-services-windows-10-a.html

    Gracias por usar los foros de MSDN.

    Pedro Alfaro
     ____

    martes, 5 de marzo de 2019 22:59
    Moderador
  • Hola Pedro,

    Gracias por la respuesta, pero en realidad la dificultad que tengo se encuentra en mi aplicacion, realizada en lenguaje Visual Basic, estoy usando una libreria llamada ServiceProcess que me permite hacer algunas funciones como instalar, desinstalar, iniciar y detener servicios de windows, la idea es que mi aplicacion funcione dinamicamente y que pueda hacer una publicacion de 'N' cantidad de servicios a diferentes servidores. La aplicacion hace su funcion correctamente, el problema está cuando necesito hacer uso de la aplicacion nuevamente, estando abierta todavia, es decir no he cerrado la aplicacion, al realizar esa accion es cuando los servicios que publique anteriormente que (Detuve,Desinstale, Cambie archivos por los actualizados, Instalé e inicie nuevamente), al intentar hacer el proceso nuevamente llega a un punto en el cual los servicios quedan en estado "Disabled".

    Entiendo que hay algun proceso que quizas no ha liberado ese recurso(Servicio de Windows), pero a nivel de Visual Basic e intentado cerrar cada funcion para que los recursos sean liberados, mas aun no tengo exito para solucionar ese problema.

    Muestro un ejemplo de como ejecuto el Unistall de un servicio

        Private Function UninstallService(ByVal sServiceName As String, ByVal sServiceServer As String) As Boolean
            Dim respuesta As Boolean = False
            Console.WriteLine("Running Uninstall Service...")

            If IsServiceInstalled(sServiceName, sServiceServer) Then
                Dim hSCM As IntPtr = OpenSCManager(sServiceServer, Nothing, ServiceControlManagerEnum.AllAccess)
                If hSCM.ToInt64 = 0 Then
                    Throw New Exception("Could not delete service. [1]")
                Else
                    Dim hService As IntPtr = OpenService(hSCM, sServiceName, ServiceAccessTypeEnum.AllAccess)
                    If hService.ToInt64 = 0 Then
                        ' TODO: FAILED
                    Else
                        If DeleteService(hService) Then
                            respuesta = True
                        End If

                        CloseServiceHandle(hService)
                    End If

                    CloseServiceHandle(hSCM)
                End If
            Else
                respuesta = True
            End If


            Return respuesta
        End Function


    • Editado HagarencK viernes, 8 de marzo de 2019 17:16
    viernes, 8 de marzo de 2019 17:16