Tengo un servicio de Windows (C#) instalado en un servidor que lanza cada 10 minutos un archivo ejecutable (C#) para procesar algunas imágenes de un directorio a otro. No se requiere interacción con ningún usuario. Sin embargo, desde el archivo ejecutable como una ventana de salida, para que el servicio se ejecute tengo que habilitar el "Permitir que el servicio interactúe con el escritorio" casilla de verificación que se considera insecure and bad practice. ¿Cómo abordaría este problema? Me gustaría tener el ejecutable separado de mi servicio ventanas porque¿Alternativa a "Permitir que el servicio interactúe con el escritorio"?
- que hace que sea más fácil de depurar y no requiere una redeploy servicio de Windows completo.
- veces uso las mismas ventanas servicio a lanzar varios archivos ejecutables en diferentes intervalos (pero todos ellos relacionados con el mismo proyecto ).
EDIT:
Cuando la interacción con el escritorio no está activado, la aplicación de consola no recibe ejecutado correctamente y aparece el siguiente error dentro de los registros de Windows:
Faulting application myapp.exe, version 1.0.0.0, time stamp 0x4b8304c3,
faulting module KERNEL32.dll, version 6.0.6002.18005, time stamp 0x49e03821,
exception code 0xc0000142, fault offset 0x00009eed, process id 0x10ec,
application start time 0x01cab736950a64b5.
vez la interacción del escritorio está habilitada, la aplicación se ejecuta normalmente.
¿Alguna idea?
Muchas gracias por su tiempo.
¿Esto es para Vista y más tarde? –
La parte de depuración no es una buena razón. Podría tener un ejecutable y el servicio usar un ensamblaje común que contenga toda la funcionalidad. –
Sí, el servicio de Windows ejecuta Windows Server 2008 Web Edition. El servicio de Windows y el ejecutable se generan con Visual Studio 2008 contra .NET Framework 3.5 – jdecuyper