Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En el modelo de agente de administrador, la aplicación se divide en dos programas. Uno de los programas se ejecuta como usuario estándar y el otro se ejecuta con privilegios de administrador.
Con un manifiesto de aplicación, marque el programa de usuario estándar con un requestedExecutionLevel de asInvoker y marque el programa administrativo con un requestedExecutionLevel de requireAdministrator. Un usuario inicia primero el programa de usuario estándar. Cuando el usuario intenta realizar una operación que requiere un token de acceso de administrador completo, el programa de usuario estándar llama a la función ShellExecute para iniciar el programa administrativo. La función ShellExecute solicita al usuario su aprobación antes de ejecutar la aplicación con el token de acceso de administrador completo del usuario. Después, el programa administrativo puede realizar tareas que requieran privilegios de administrador.
El programa administrativo no está completamente aislado del programa de usuario estándar. El programa administrativo puede habilitar la comunicación entre procesos con el programa de usuario estándar. Sin embargo, dicha comunicación está limitada por la directiva de integridad obligatoria predeterminada. Para obtener información sobre las consideraciones de integridad obligatorias, consulte Diseño de aplicaciones para ejecutarse en un nivel de integridad bajo.
A continuación se muestran los usos posibles para el modelo de agente de administrador:
- Desarrollo de asistentes. Cuando un asistente de hardware determina que un controlador necesario no está instalado en el equipo o ubicado en la ubicación aprobada de la empresa, llama a una aplicación con privilegios elevados con la capacidad de mover un controlador al almacén del equipo.
- Autorun.exe llamar a Setup.exe. Cuando un usuario ejecuta software desde un CD, Autorun.exe, que se ejecuta como usuario estándar, inicia Setup.exe, que se ejecuta como administrador, para instalar el software en el equipo.
A continuación se muestran desventajas de usar el modelo de agente de administrador:
- Las transiciones de la aplicación a la aplicación pueden resultar confusas para el usuario. Puede ser difícil informar al usuario por qué aparece una nueva aplicación en el monitor.
- Puede ser difícil pasar información de estado entre las dos aplicaciones. Por ejemplo, no usaría este modelo para pasar información de estado entre un panel de control de usuario estándar (CPL) y su homólogo de administrador simplemente para permitir que la misma CPL tenga funcionalidad de usuario administrativa y estándar. El CPL de usuario estándar tendría que almacenar su estado en algún lugar.
- Puede haber mucho código replicado al dividir la funcionalidad entre dos programas.
Temas relacionados