Actualmente estoy trabajando en un Lanzador de aplicaciones/Autoupdater. Para instalar/actualizar una aplicación en "Archivos de programa", necesito solicitar derechos de administrador.Privilegios de administrador para un único método
Bueno, como el actualizador solo necesita escribir algo si se encuentran nuevas versiones, intenté solo solicitar los privilegios, si se encuentra una nueva versión.
El proceso de actualización se ejecuta cada vez, antes de que se inicia la aplicación, por lo que pide "cada vez" para Adminrights hay solución ...
busqué mucho, y se encontró lo siguiente:
[PrincipalPermission(SecurityAction.Demand, Role = @"Administrators")]
private void InstallOrUpdate(AppItem appItem)
pero Cuando intento esto, el actualizador arroja una SecurityException ...
Falló la solicitud del permiso de principal.
¿Qué estoy haciendo mal?
Saludos, Dognose
Cuando estoy haciendo cosas administrativas en Windows, veo botones en los formularios con el icono de administración junto a ellos. Cuando hago clic en el botón, UAC solicita privilegios elevados. ¿Estás diciendo que para cada botón administrativo, Windows está lanzando un nuevo proceso? ¿O algo diferente está sucediendo allí? – Phil
@Phil: Sí. Básicamente, si ve un aviso de UAC, sabrá que se va a iniciar un nuevo proceso en ese punto. –
@Phil, un buen ejemplo es el Administrador de tareas de Windows y el botón 'Mostrar procesos de todos los usuarios'. Hacer clic en esto no solo actualiza el Administrador de tareas, sino que lo relanza con permisos elevados. –