Какие действия потребуют повышения UAC в Windows? - PullRequest
3 голосов
/ 09 июня 2010

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

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

В частности, я хотел бы знать, активирует ли это чтение из реестра.Или писать в него?
Вам не нужно отвечать на вышеуказанный вопрос, просто все, что активирует его, является честной игрой.

Очень сложно что-либо гуглить о UAC, потому что вас засыпают статьикак это отключить.И я бы предпочел, чтобы мое приложение не делало предположение, что UAC отключен.

Ответы [ 2 ]

4 голосов
/ 22 июня 2011

Ничто не "активирует" UAC.

Если ваше приложение не сможет работать как обычный пользователь в Windows XP, оно не сможет работать в Windows Vista или Windows 7 как обычный пользователь.

Что вы действительно спрашиваете: какие действия может обычный пользователь не выполнять в Windows?

То, что обычный пользователь не может сделать, довольно хорошо известно (они были такими же, как в Windows 2000). Основные из них:

  • изменить что-либо в HKEY_LOCAL_MACHINE
  • изменить что-либо в каталоге Windows
  • изменить что-либо в папке Program Files

Если вы попытаетесь выполнить какое-либо из этих действий, они потерпят неудачу:

  • Windows 2000
  • Windows XP
  • Windows Vista
  • Windows 7

Никто не должен был работать от имени администратора для повседневного использования компьютера. Если бы ваше приложение сделало что-то плохое в Windows XP, оно не получилось бы. Пользователь должен будет:

  • вход в систему (или быстрое переключение пользователей) к администратору
  • выполнить административное задание
  • переключиться обратно на свой реальный счет

UAC - это удобный механизм, позволяющий вам легко временно переключаться на администратора. Ничто из того, что вы делаете, не будет " вызывать "; Вы должны сделать это.

Если вы знаете, что вашему коду необходимо изменить файл в C:\Program Files\My App\Data, то вам нужно добавить в форму кнопку, которая вызовет повышение прав.

Затем вам нужно запустить (повышенную) копию вашей программы, сделать это и закрыть.

0 голосов
/ 17 января 2012

Я создал установщик launch4j (exe-упаковщик для java-программ) и назвал его «MyApp.exe». Это не требует никакой аутентификации администратора. Он просто работает без всякого запроса UAC.

НО: если я переименую этот установщик в «install.exe» или «setup.exe», появится значок UAC, и при запуске установщика появится приглашение UAC.

Похоже, что в именах файлов есть некоторые "зарезервированные слова", которые заставляют Windows запускать программу с повышенными правами (UAC).

...