Problemas de seguridad WCF con tuberías con nombre

Tengo una configuración un poco complicada que, por supuesto, funciona bien en XP, pero se ahoga en Windows 7. Puede parecer una locura, ¡pero tenía sentido en ese momento!

Tengo una aplicación WPF que se inicia y luego lanza otra aplicación que se comunica con un dispositivo externo. Después de su lanzamiento, establece comunicaciones con el nuevo proceso utilizando WCF (alojado por el nuevo proceso) a través de una canalización con nombre (net.pipe). Esto parece funcionar bien en cualquiera de los sistemas operativos.

Quería que algunas de las funciones de la aplicación WPF estuvieran disponibles externamente para un programa de línea de comandos, así que configuré otro servicio WCF, esta vez alojado por la aplicación WPF y nuevamente lo expuse a través de canalizaciones con nombre. Una vez más, esto parece funcionar.

A continuación, quería que la funcionalidad de la aplicación WPF estuviera disponible a través de la web. Ahora, es importante que la aplicación WPF se pueda ejecutar desde una cuenta de usuario regular, por lo que pensé que la mejor manera de hacer que esto funcionara en Windows 7 sería crear un servicio de Windows que brindaría la parte del servicio web y que se comunicara nuevamente con el Aplicación WPF a través de la misma tubería con nombre que funciona bien para la línea de comandos. Implementé esto y funciona bien en XP, pero se ahoga en Windows 7. El problemaparece para intentar establecer la conexión de canalización con nombre entre el servicio de Windows y la aplicación WPF.

Si ejecuto la aplicación WPF como administrador, funciona bien. Por lo tanto, parece ser un problema con la cuenta en la que se está ejecutando el servicio de Windows. No se puede comunicar con una cuenta de usuario regular que hospeda el servicio WCF a través de canalizaciones con nombre. ¿Hay alguna manera de hacer que esto funcione? Parece que un servicio WCF que se ejecuta en una cuenta de usuario regular puede comunicarse utilizando canalizaciones con nombre a otra aplicación que se ejecuta en la misma cuenta, pero parece que no puede hacer lo mismo con una cuenta diferente.

Curiosamente, lo contrario parece funcionar. De hecho, el servicio de Windows también expone un servicio con un enlace de canalización con nombre (se usa como una función de activación ya que el servicio se está ejecutando todo el tiempo). Puedo conectarme desde la aplicación WPF a este servicio sin ningún problema.

Mi conocimiento de la seguridad es algo limitado. ¿Alguien puede iluminar lo que está pasando?

Respuestas a la pregunta(2)

Su respuesta a la pregunta