una programa para especifico determinada deshabilitar desactivar aplicación .net windows-vista icons uac

.net - programa - mostrar el icono de la aplicación en el indicador de elevación de UAC para la aplicación ejecutada desde el recurso compartido de red



desactivar uac para un programa especifico (3)

He configurado mi aplicación .NET utilizando un manifiesto de aplicación para solicitar privilegios de administrador. También he firmado la asamblea usando signtool. Todo funciona muy bien: cuando inicias la aplicación, obtienes el bonito aviso de UAC con el nombre de la aplicación y el nombre del certificado de firma.

Sin embargo, cuando ejecuto la aplicación desde un recurso compartido de red , el indicador de elevación muestra el icono ejecutable genérico, no el ícono de mi aplicación. ¿Cómo hago para que el mensaje de UAC muestre el ícono de mi aplicación?


Aparentemente no es algo con .net, pero con UAC.

He reproducido el comportamiento colocando procmon desde systinternals en un recurso compartido de red y vi la misma diferencia.

Tal vez tiene algo que ver con que cuando se cambia a una sesión elevada se usa otro usuario. La asignación de red se realiza en el usuario general, por lo que en la sesión elevada no se pudo encontrar la aplicación y, por lo tanto, no es posible mostrar el ícono.

Podría intentar hacer lo siguiente para forzar que la conexión sea válida en la sesión elevada:

  • iniciar una instrucción de comando elevada
  • net use //your-network-location/share /user:<username> <password>
  • ahora ve a start-> run e start //your-network-location/share/procmon.exe (para estar seguro evita una unidad mapeada) y ve si el prompt de UAC mejora?

¿Podría estar relacionado con la pregunta: ¿por qué mi aplicación .NET falla cuando se ejecuta desde una unidad de red?

Que su aplicación .net tenga otros derechos en el recurso compartido de red que en su disco local. La actualización a 3.5 SP1 normalmente eliminará este problema. De lo contrario, verifique las políticas de código remoto para .net.

También podrías probar con otra aplicación que no sea .net (procmon por ejemplo) que requiere elevación para ponerla en el mismo directorio y ver qué pasa.


Probablemente me enteré.

UAC se ejecuta sobre un servicio, el diálogo que vemos se encuentra en la parte superior de la instantánea del escritorio. El servicio solo mostraría el cuadro de diálogo como si estuviera en el escritorio.

Como sabemos, los servicios se ejecutan en la cuenta del SISTEMA (entre otros). Esto significa que necesita que SYSTEM tenga derechos sobre el ejecutable que estamos lanzando. Me asigné seguridad solo exclusivamente (sistema eliminado).

Tan pronto como di derechos a SYSTEM (¡solo lectura de derechos!), Y lancé la aplicación, ¡mostró el icono de la aplicación!