Возможно ли, чтобы процесс понизил себя от повышенного разрешения UAC до стандартного пользователя? Если нет, может ли пользователь с повышенными правами запустить свою копию со стандартным токеном пользователя и затем убить себя? Любые примеры кода (предпочтительно C #)?
подробности:
Проблема:
- пользователь устанавливает мой продукт (написано на C #)
- установщик повышает разрешение UAC для администратора
- в конце установщик запускает мой exe
- exe наследует повышенные права от администратора
- exe монтирует сетевые диски, которые становятся невидимыми в Windows Explorer (который работает с обычными разрешениями)
Варианты, которые я рассмотрел:
1) разбить установщик на внешний и внутренний exe-файлы, работающие с повышенными правами. Установка состоит из 1000+ строк кода NSIS, и я ничего не знаю о NSIS
2) монтаж дисков с меньшими разрешениями. Если я это сделаю, Win Explorer может видеть диски, но мой exe не может
3) установка для параметра реестра EnableLinkedConnection значения 1. Это запрещено, поскольку при установке требуется перезагрузка компьютера.
Пожалуйста, помогите!
Сергей