Когда мы запускаем приложение как администратор, что это на самом деле означает? Мы знаем, что у него есть права вносить изменения в систему, но есть права на что именно?

Единственное, что выделяется, - это реестр, к которому он имеет полный доступ, но что еще может понадобиться типичному приложению, которого нет у обычного пользователя?

Я мог также видеть программные файлы или системные папки Windows, но я предполагаю, что большинству приложений, вероятно, не нужно вносить какие-либо изменения (другими словами, они будут работать без повышенного доступа к нему).

Поэтому я пытаюсь определить компоненты запуска приложения в качестве администратора, чтобы я мог применить эти изменения вручную, один за другим, если это возможно. Я делаю это, потому что моему приложению нужны права администратора для правильной работы в Windows 10, и я хочу сузить его, к чему именно ему нужен этот доступ.

2 ответа2

2

Для чего именно приложению нужны права администратора, зависит от приложения, но вы выявили две наиболее распространенные проблемы запуска без повышенных прав: защищенные области файловой системы и реестр.

Чтобы точно решить вашу проблему, вы должны запустить Process Monitor (из SysInternals). Затем запустите приложение без повышения прав. ProcMon расскажет вам, что приложение пытается сделать и терпит неудачу. Ищите результаты «Отказано в доступе».

1

Запуск приложения с правами администратора обычно позволяет ему делать что угодно, включая форматирование жесткого диска. Хорошо написанные приложения, кроме утилит, таких как установщики, не должны в этом нуждаться.

Тем не менее, Microsoft предоставляет инструмент под названием LUA Buglight, который можно использовать для работы с плохо написанными приложениями, чтобы предоставлять им минимальные исправления вместо того, чтобы давать им полную свободу действий.

Блог Аарона Маргозиса - отличное место, чтобы узнать об этих исправлениях.

Похоже, ссылка для скачивания на данный момент здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .