Utilicé el archivo de manifiesto de la aplicación como se describe en here para tener una parte de mi aplicación ejecutándose con privilegios elevados (que necesita).
Por lo tanto, cuando sea necesario, el programa principal solo invoca un ensamblaje pequeño usando Process.Start que luego maneja la tarea para la cual se requieren derechos de administrador.Cómo ejecutar otra aplicación como administrador en Windows XP
Sin embargo, ¿cómo puedo hacer lo mismo en Windows XP?
Parece que XP simplemente ignora este manifiesto y ejecuta el ensamblaje pequeño en el contexto de usuario actual.
El problema es que el cuadro de diálogo Ejecutar XP SP3 se ejecuta como el usuario actual marcado de manera predeterminada, e incluso marca "proteger mi computadora y datos de la actividad del programa no autorizado", ¡esto realmente reduce los privilegios! – eug