Tengo un proyecto de aplicación de Visual Studio para Windows. He agregado código para descargar un archivo de actualización del instalador. El instalador después de que haya finalizado la descarga necesitaría privilegios de administrador para ejecutarse. He agregado un archivo de manifiesto.Cómo iniciar un proceso como modo de administrador en C#
Cuando el usuario hace clic en DownloadUpdate.exe, UAC solicita al usuario los permisos de administrador. Así que asumí que todos los procesos creados y llamados dentro de DownloadUpdate.exe se ejecutarán en la capacidad de administración. Así que hice el establecimiento de llamada a mi archivo descargado con el siguiente código:
Process p = new Process();
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo.FileName = strFile;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
No, no puede suponer que todos los procesos ejecutados desde DownloadUpdater.exe se ejecutan en modo de administrador. De hecho, eso sería una terrible brecha de seguridad. Si ejecuta otro proceso que necesita derechos de administrador, se volverá a solicitar al usuario. –