Нужен весь список защищенных ресурсов UAC для запуска моего приложения в качестве обычного пользователя (без изменений)

Что касается обновления моего приложения VB6 для работы в качестве обычного пользователя, а не для того, чтобы всегда требовать повышенных привилегий, мне трудно понять все биты старого приложения VB6 (exe), которые мне нужно изменить.

На данный момент я понимаю, что такое "Защищенный ресурс" в отношении UAC:

В Реестре вы не можете получить доступ к HK_LocalMachine (Локальный компьютер) и должны вместо этого использовать HK_CurrentUser, потому что HK LocalMachine требует повышенных привилегий, а CurrentUser - нет.

В разделе "Файлы и папки" я знаю, что не могу получить доступ к каталогу Windows (C:\Windows) или любым его подпапкам, потому что это, в том числе каталог программных файлов (C:\Program Files), является защищенным ресурсом и требует высота, поэтому вместо этого мы должны использовать папку ProgramData, которая не требует повышения.

Кроме того, я думаю, что некоторые программы требуют повышения прав, если вы хотите их запустить, например, Event Viewer? Есть ли список всех программ, которые требуют повышения для запуска где-нибудь? Как насчет программ, которые запускаются внутри консоли cmd.exe?

Теперь я даже не уверен, правильно ли я использую термин "Защищенный ресурс", потому что, когда я выполнял несколько разных типов поиска в Google, я не мог найти другие Защищенные ресурсы, о которых я не знаю. По сути, мне нужно знать, что представляют собой все другие "Защищенные ресурсы", чтобы я знал, какие части моего приложения VB6 необходимо изменить, чтобы я мог ответственно запускать свое приложение на компьютерах пользователей (не требуя повышения прав).

Поскольку я не смог найти Список всех Защищенных ресурсов, ограниченных UAC в Vista и выше, я не знаю, какие части моего VB6 EXE нужно изменить. Это в основном моя проблема. На данный момент единственное, что мне нужно изменить, - это перечисленные выше элементы: в реестре использовать CurrentUser вместо LocalMachine, а в файловой системе - ProgramData вместо%WinDir% и%ProgramFiles%. Что такое все черные каталоги?

По сути, поиск в Списке всех защищенных ресурсов ничего не дал в Google, может кто-нибудь направить меня на какой-нибудь сайт, где я могу получить полный список всех элементов, для работы которых требуется повышение? Чтобы таким образом я мог использовать альтернативный метод при перекодировании моего VB6 EXE, чтобы люди могли запускать мое приложение без предоставления ему Административных привилегий?

Кроме того, любые различия в этих "Защищенных ресурсах" между Vista, Windows 7 и Windows 8/8.1 по мере необходимости или по вашему усмотрению, чем больше я знаю, тем лучше.

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

Спасибо вам большое!

Обновление / Изменить / Резюме:

Вот вещи, которые я бы нашел полезными. Мне известны четыре (4) категории, которые содержат Защищенные ресурсы, это: Реестр, Папки файловой системы, Приложения, установленные с Windows и Windows API.

1). Если есть другая категория или категории, которые могут содержать защищенные ресурсы, пожалуйста, не стесняйтесь перечислять их. 2). Список ключей реестра, которые являются защищенными объектами реестра и для доступа к которым требуется повышение прав. 3). Список папок, которые являются защищенными папками и которым для доступа требуется высота. 4). Список приложений Windows, которые являются защищенными приложениями и для запуска которых требуется повышение прав. 5). Список API-интерфейсов Windows, которые являются Защищенными API-интерфейсами и требуют повышения прав для использования.

1 ответ

Когда ваше приложение работает в обычной среде LUA, вы обычно имеете полный доступ только к профилю этого пользователя. Это включает:

  1. Их папка профиля: C:\Users\[username]\
  2. Их реестр улей: HKEY_CURRENT_USER

Таким образом, любые настройки или изменения, применимые только к этому пользователю, могут быть выполнены без повышения прав.

Все, что находится за пределами этого, либо не имеет доступа, либо доступно только для чтения, включая (но не ограничиваясь):

  1. Глобальные настройки
  2. Системный реестр кустов: HKEY_LOCAL_MACHINE
  3. Системные папки: C:\Windows\, C:\Program Files\, C:\ProgramData\ (если явно не разрешено)
  4. Профили других пользователей
  5. Доступ к аппаратному обеспечению
  6. Собака по соседству
  7. Коды запуска ядерных ракет

Дальнейшее чтение:

  1. Требования к разработке приложений для Windows Vista для контроля учетных записей пользователей (UAC)
  2. Требования к разработке приложений для Windows Vista для совместимости контроля учетных записей (более длинная статья)
Другие вопросы по тегам