Видимо это не что-то с .net, а с UAC.
Я воспроизвел поведение, поместив procmon из systinternals в общий сетевой ресурс, и увидел ту же разницу.
Может быть, он должен что-то сделать, чтобы при переключении на сеанс с повышенными правами использовался другой пользователь. Сетевое сопоставление выполняется для обычного пользователя, поэтому в сеансе с повышенными правами приложение не может быть найдено, и, следовательно, невозможно отобразить значок?
Вы можете попытаться сделать следующее, чтобы принудительно установить соединение в сеансе с повышенными правами:
- запустить командную строку с повышенными привилегиями
- чистое использование
\\your-network-location\share /user:<username> <password>
- теперь перейдите к запуску -> запустить и запустить
\\your-network-location\share\procmon.exe
(чтобы быть в безопасности, избегайте подключенного диска) и посмотрите, улучшается ли запрос UAC?