Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

display application icon on UAC elevation prompt for application run from network share

I have configured my .NET application using an application manifest to request administrator privileges. I have also signed the assembly using signtool. Everything works great—when you start the application, you get the nice UAC prompt with the application's name and the name of the signing certificate.

However, when I run the application from a network share, the elevation prompt displays the generic executable icon, not my application's icon. How do I make the UAC prompt display my application's icon instead?

like image 267
Will Rogers Avatar asked Jan 22 '09 16:01

Will Rogers


2 Answers

I probably found out.

UAC runs on top of a service, the dialog we see is on top of the desktop snapshot. The service would just display the dialog box as if it were on the desktop.

As we know services run on SYSTEM account (among few others). This means it needs SYSTEM to have rights on the executable we are launching. I assigned security to myself only exclusively (stripped out SYSTEM).

As soon as I gave rights to SYSTEM (read rights only!), and launched the application - it showed the application icon!

like image 69
Ajay Avatar answered Nov 07 '22 04:11

Ajay


Apparently it's not something with .net, but with UAC.

I've reproduced the behavior by placing procmon from systinternals on a network share and saw the same difference.

Maybe it has something to do that when switching to an elevated session another user is used. The network mapping is done on the general user, so in the elevated session the application could not be found and therefor it's not possible to display the icon?

You could try to do the following to force the connection to be valid on in the elevated session:

  • start an elevated command promt
  • net use \\your-network-location\share /user:<username> <password>
  • now go to start->run and start \\your-network-location\share\procmon.exe(to be on the safe side avoid a mapped drive) and see if the UAC prompt improves?
like image 1
Davy Landman Avatar answered Nov 07 '22 05:11

Davy Landman