solucionar sistema servicios servicio remoto pudo programa net instalar iniciar escritorio error equipo detener denegado como cliente acceso c# .net wcf windows-services

c# - sistema - Error 5: acceso denegado al iniciar el servicio de Windows



windows no pudo iniciar el servicio cliente dhcp en equipo local error 5 acceso denegado (26)

Recibo este error cuando trato de iniciar un servicio de Windows que he creado en C #:

Mi código hasta el momento:

private ServiceHost host = null; public RightAccessHost() { InitializeComponent(); } protected override void OnStart(string[] args) { host = new ServiceHost(typeof(RightAccessWcf)); host.Open(); } protected override void OnStop() { if (host != null) host.Close(); host = null; }

Actualización # 1

Resolví el problema anterior al otorgar permisos a la cuenta SERVICIO DE RED, pero ahora tengo otro problema:

Actualización # 2

El servicio no puede iniciarse. System.InvalidOperationException: el servicio ''RightAccessManagementWcf.RightAccessWcf'' tiene cero puntos finales de aplicación (sin infraestructura). Esto podría deberse a que no se encontró ningún archivo de configuración para su aplicación, o porque no se pudo encontrar ningún elemento de servicio que coincida con el nombre del servicio en el archivo de configuración, o porque no se definieron puntos finales en el elemento de servicio. en System.ServiceModel.Description.DispatcherBuilder.EnsureThereAreNonMexEndpoints (Descripción de descripción de servicio) en System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost (Descripción de ServiceDescription, ServiceHostBase serviceHost) en System.ServiceModel.ServiceHostBase.InitializeRuntime () en System.ServiceModel.ServiceHostBase.OnOpen ( TimeSpan timeout) en System.ServiceModel.Channels.CommunicationObject.Open (TimeSpan timeout) en RightAccessHosting.RightAccessHost.OnStart (String [] args) en C: / Users ....


¡Después de golpear mi tener contra mi escritorio por unas horas tratando de resolver esto, de alguna manera mi método "Principal" se vaciaba de su código!

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

Otras soluciones que encontré:

  • Actualizando .NET Framework a 4.0
  • Asegurarse de que el nombre del servicio dentro de InitializeComponent () coincida con la propiedad del nombre del servicio del instalador

    private void InitializeComponent() ... this.ServiceName = "DMTestService";

  • Y un buen reinicio del servidor no duele

Szhlopp


Accidentalmente configuré mi servicio para que se ejecute ya Local service solución de Local service era cambiar al Local System


Asegúrese de que la Path to executable apunta a un ejecutable real (haga clic con el botón derecho en Servicio -> Propiedades -> pestaña General). A través de powershell (y sc.exe) puede instalar un servicio sin señalar un ejecutable ... ejem.


Computadora -> Administrar -> Servicio -> [su servicio] propiedades. Luego, la pestaña con la información de la cuenta. Juega con esas configuraciones, como ejecutar el servicio con una cuenta de administrador o similar.

Eso lo hizo por mí.

EDITAR: Lo que también puede ser el problema es que la mayoría de los servicios se ejecutan como cuentas LOCAL SERVICE o LOCAL SYSTEM . Ahora cuando ejecuta C:/my-admin-dir/service.exe con esas cuentas pero no se les permite ejecutar nada en ese directorio, obtendrá el error 5 . Así que busque el ejecutable del servicio, renueve el directorio -> Propiedades -> Seguridad y asegúrese de que la cuenta con la que se ejecuta el servicio esté en la lista de usuarios que están asignados para tener control total sobre el directorio.


En el caso de que el sistema se quede sin espacio libre en el disco local.


En mi caso, el seguimiento no fue verificado.


En mi caso, guardé el proyecto en el escritorio y para acceder al escritorio necesitamos agregar permisos a la carpeta, así que simplemente moví la carpeta de mi proyecto al directorio C: / y ahora funciona como un amuleto.


En mi caso, tuve que agregar ''Usuarios autenticados'' en la lista de ''Nombres de grupos o usuarios'' en la carpeta donde se instaló el ejecutable.


Este error ocurre cuando hay un error en su método OnStart . No puede abrir un host directamente en el método OnStart porque no se abrirá cuando se llame, sino que esperará el control. Entonces debes usar un hilo. Este es mi ejemplo.

public partial class Service1 : ServiceBase { ServiceHost host; Thread hostThread; public Service1() { InitializeComponent(); hostThread= new Thread(new ThreadStart(StartHosting)); } protected override void OnStart(string[] args) { hostThread.Start(); } protected void StartHosting() { host = new ServiceHost(typeof(WCFAuth.Service.AuthService)); host.Open(); } protected override void OnStop() { if (host != null) host.Close(); } }


Esto funcionó para mí.

  1. Haga clic derecho en la carpeta de nivel superior que contiene el ejecutable del servicio. Ir a Propiedades
  2. Ir a la pestaña "Seguridad"
  3. Haga clic en "EDITAR"
  4. Haga clic en "Agregar"
  5. Ingrese el nombre "SISTEMA", haga clic en Aceptar
  6. Seleccione el usuario de SYSTEM y haga clic en la casilla de verificación ALLOW al lado de "Control total"
  7. Haga clic en Aceptar dos veces

Haga clic derecho en el service en service.msc y seleccione la property .

Verá una ruta de carpeta en Path to executable como C: / Users / Me / Desktop / project / Tor / Tor / tor.exe

Navega a C: / Users / Me / Desktop / project / Tor y haz clic derecho en Tor.

Seleccione property , security , edit y luego add . En el campo de texto ingrese LOCAL SERVICE , haga clic en Aceptar y luego marque la casilla FULL CONTROL

Haga clic en add nuevamente y luego ingrese NETWORK SERVICE , haga clic en ok , marque la casilla FULL CONTROL

A continuación, haga clic en Aceptar (en la parte inferior)


Haga clic en el menú Start y seleccione Run o use el atajo de teclado de Win + R.

En el cuadro de diálogo, escriba lusrmgr.msc . Cuando se abra esta aplicación, haga clic en Usuarios en el panel de la izquierda y luego haga clic con el botón Administrator en Administrator en el panel de la derecha. Haga clic en Properties en el menú.

En el cuadro de diálogo Administrator Properties del Administrator Properties , seleccione la pestaña Member Of , luego haga clic en el botón Agregar ... en la esquina inferior derecha. Desde el siguiente diálogo, elija Advanced...

Aparecerá otro diálogo. Desde allí, haga clic en Find Now a la derecha. Aparecerá una lista de resultados de búsqueda en la parte inferior del cuadro de diálogo. Seleccione Network Services de esta lista y haga OK en OK en cada uno de los cuadros de diálogo abiertos.


Me doy cuenta de que esta publicación es antigua, pero no hay una solución clara y solo quería contar cómo resolví esto.

El primer Error 5: Access Denied se resolvió dando permisos al directorio de salida a la cuenta NETWORK SERVICE .

El segundo error Started and then stopped parece ser un mensaje genérico cuando algo ha fallado en el servicio. Verifique el Visor de eventos (específicamente la ''Aplicación de Registros de Windows>'') para obtener el mensaje de error real.

En mi caso, fue una mala configuración de configuración de servicio en app.config.


Para el error 5, hice lo contrario a la solución anterior. "El primer error 5: error de acceso denegado se resolvió otorgando permisos al directorio de salida a la cuenta de SERVICIO DE RED".

Cambié la mía por cuenta local, en lugar de la cuenta de servicio de red, y porque estaba conectado como administrador funcionó


Para mí, la carpeta desde la que se iba a ejecutar el servicio y los archivos que contiene se cifraron con la opción "Cifrar" de Windows. Quitando eso y - ¡voila!


Si obtiene este error en una máquina servidor intente darle acceso a la carpeta que obtuvo el servicio de Windows real. Debería ir a la pestaña de seguridad y seleccionar el servicio local como usuario y debería darle acceso completo. Deberías hacer lo mismo con el exe también.


Su código puede estar ejecutándose en el contexto de seguridad de un usuario que no puede iniciar un servicio.

Como está utilizando WCF, supongo que se encuentra en el contexto del SERVICIO DE RED.

ver: http://support.microsoft.com/kb/256299


Supervisé sppsvc.exe utilizando el monitor de proceso y descubrí que estaba intentando escribir en la clave HKEY_LOCAL_MACHINE / SYSTEM / WPA. Después de otorgar permisos al SERVICIO DE RED en esta clave, pude iniciar el servicio y Windows de repente reconoció que se había activado nuevamente.


También recibí el mismo error. Se resolvió haciendo clic con el botón derecho en Servicio> Propiedades> Iniciar sesión> iniciar sesión como: Cuenta del sistema local.


Tenía el servicio de Windows alojado usando OWIN y TopShelf. No pude iniciarlo. Mismo error - "Acceso denegado 5"

Terminé dando todas las permanentes a mi bin / Debug.

El problema aún no se resolvió.

Así que eché un vistazo a los registros de eventos y resultó que el Microsoft.Owin.Host.HttpListener no se incluyó en la biblioteca de clases que contiene la clase de inicio de OWIN.

Por lo tanto, asegúrese de verificar el registro de eventos para identificar la causa raíz antes de comenzar a ingresar en las permanentes, etc.


Tengo la solución:

1. Go to local service window(where all services found) 2. Just right click on your service name: 3. click on "properties" 4. go to "log on" tab 5. select "local system account" 6. click "ok"

ahora puedes intentar comenzar el servicio.


Tuve este problema en un servicio que estaba implementando, y ninguna de las otras sugerencias sobre esta pregunta funcionó. En mi caso, fue porque mi .config (xml) no era válido. Hice un error de copiar y pegar al copiar de Qualif a prod.


Tuve este problema hoy en un servicio que estaba desarrollando, y ninguna de las otras sugerencias sobre esta pregunta funcionó. En mi caso, me faltaba una dependencia de .dll en la carpeta desde la que se ejecutaba el servicio.

Cuando agregué las dependencias, el problema desapareció.


Use LocalSystem Account en lugar de LocalService Account en Service Installer.

Puede hacer esto desde el siguiente cambio en la vista de diseño de su instalador de servicio:
Propiedades del instalador de proceso de servicio -> Establecer cuenta en LocalSystem.

o haciendo abajo el cambio en el archivo designer.cs de su instalador de servicio:

this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;


si tiene un código de error de acceso denegado 5. entonces probablemente en su código su servicio está tratando de interactuar con algunos archivos en el sistema, como escribir en un archivo de registro

abra las propiedades de los servicios, seleccione la pestaña de log on y la opción de verificación para permitir que el servicio interactúe con el escritorio,


Eche un vistazo a las Process Utilities > Process monitor de http://www.sysinternals.com .

Esta es una herramienta que le permite monitorear lo que hace un proceso. Si supervisa este proceso de servicio, debería ver un acceso denegado en alguna parte y sobre qué recurso se deniega el acceso.