В целом, Windows Vista и Windows 7 не будут автоматически определять, что вам нужны права администратора, и не будут автоматически повышать уровень вашего приложения. У Microsoft есть несколько рекомендаций для правильного запроса повышения прав.Старые приложения без манифеста также могут оказаться виртуализированными, то есть ваша запись в программные файлы может быть перенаправлена в каталог в каталоге профиля пользователя.
Имейте в виду, что привилегированные операции следует поддерживать на абсолютном уровне.минимум.UAC существует, чтобы отговорить разработчиков приложений запрашивать ненужный административный доступ для повышения безопасности.Единственными программами, которые должны связываться с программными файлами, являются установщики.
Обратите внимание, что пользователи с правами администратора в Windows 7 / Vista не могут использовать свои права без повышения прав - токен администратора имеет более высокий уровень целостности , чемпроцессы запускаются по умолчанию и поэтому недоступны.Если вы попытаетесь выполнить операцию, требующую такого доступа, вы получите ошибку отказа в доступе;нижележащие API не будут выдавать никаких исключений, обычно они просто терпят неудачу и устанавливают GetLastError()
в ERROR_ACCESS_DENIED
.API более высокого уровня, конечно, могут преобразовать это в выбрасываемое исключение или принудительно прекратить, хотя последнее довольно грубо и вряд ли произойдет в любых встроенных интерфейсах Windows.