Tengo una aplicación (servicio de Windows) que está instalada en un directorio en la carpeta Archivos de programa. Junto a esta aplicación hay otra aplicación WinForms que se utiliza para configurar el servicio (entre otras cosas). Cuando hace la configuración, guarda los cambios en un archivo de configuración que vive junto con el servicio.Forma correcta de tratar con UAC en C#
Cuando se ejecuta en Vista/Win7, UAC impide que el usuario guarde en el archivo de configuración. Lo que me gustaría hacer es:
- poner el icono de escudo junto al elemento de menú se utiliza para configurar
- pronta para los permisos de UAC cuando se elige este artículo
- sólo muestra el icono/aviso cuando en una OS que lo requiera
- sólo muestran el icono/símbolo cuando se requieren permisos (por ejemplo., si la aplicación se instala en algún lugar que no requiere el permiso UAC)
realmente no quiero correr toda la aplicación como administrador, ya que también se usa para otros fines que no requieren permisos de UAC (por lo que establecer un archivo de manifiesto de aplicación no es la solución correcta). También estoy asumiendo (corríjanme si estoy equivocado) que una vez que se otorgaron los permisos de UAC, mi proceso existente no puede realizar la acción y que tendré que comenzar un nuevo proceso.
¿Cómo puedo lograr esto?
Tuve que saltar un poco por los aros para codificar esto correctamente, pero gracias a Matthew obtuve algo similar a lo que describí anteriormente. – adrianbanks
Bueno para escuchar. UAC a veces hace las cosas un poco dolorosas, pero tu software es realmente mejor para eso. –