2014-11-12 6 views
-2

Прежде чем говорить, что это еще один повторяющийся вопрос, это не так..net Права администратора

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

Теперь проблема заключается в следующем: мое приложение запускается при запуске, поэтому каждый раз, когда появляется UAC. Я заметил, что антивирусное программное обеспечение, например, требует прав администратора только в первый раз не всегда при каждой перезагрузке системы.

Итак, возможно ли, чтобы приложение отображало UAC только при первом открытии, не всегда?

+3

Это _is_ дубликат. Попробуйте использовать поиск. Что касается вашего примера: вирус-сканер устанавливает себя как системные объекты более низкого уровня, такие как Windows Services и драйверы фильтров файловой системы, и вам нужно только UAC, чтобы сделать это один раз: во время установки. Затем служба или драйвер работают под разными привилегиями или даже с другим кольцом. Графический интерфейс вашего антивирусного сканера просто отправляет команды службе, поэтому ему не нужны административные привилегии. – CodeCaster

+1

Недостаточно просто сказать * это не дубликат. Если вы считаете, что это отличается от других вопросов, вам нужно быть конкретным, с какими вопросами он похож, и * почему * это не дубликат. – Blorgbeard

+0

@CodeCaster, так как я могу сделать свой собственный сервис и подключить его к моему приложению без requireAdministrator. Мне не нужны коды, я бы хотел только какую-то теорию. Вы сказали, что его можно закодировать на низкоуровневых языках, поэтому C++ должно быть хорошо. – xpirt

ответ

1

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

+0

, поскольку он объявлен в манифесте, когда приложение запущено, появляется всплывающее окно UAC – xpirt

+0

@xpirt You aren 't ограничивается отправкой одного исполняемого файла. Вы можете использовать несколько исполняемых файлов, каждый из которых имеет свои собственные манифесты. Общими примерами этого может быть приложение, в котором есть самообучающийся. Этот самообновляющийся часто является отдельным исполняемым файлом. – mason

+0

да, но напр. моему приложению нужно редактировать раздел реестра каждый запуск, поэтому он должен работать с повышенным уровнем. но каждый раз, когда просмотр всплывающего окна действительно раздражает. – xpirt

Смежные вопросы