У меня есть механизм "автоматического обновления", который много лет работает под Windows XP, который выходит из строя под Windows 7, потому что запрос пользователю (который никогда не существовал под Windows XP), чтобы предоставить разрешение программы для запуска с права администратора не отображаются.
Программа win32 (написанная в Borland Delphi) использует LogonUser() и ImpersonateLoggedOnUser() для олицетворения пользователя (локальная учетная запись с правами администратора), чтобы он мог заменить выбранные файлы в папке Program Files.
Если я вручную подключился к Windows 7 с помощью этой учетной записи пользователя, а затем попытаюсь удалить файл в папке Program Files, то в Windows 7 появится мое разрешение разрешить программе продолжить работу - если я дам ему разрешение, файл будет удален, если Я запрещаю разрешение "Доступ запрещен", и удаление не разрешено.
При попытке выполнить то же самое, что описано выше, "access denied" - это результат без каких-либо подсказок пользователю.
Я вижу в подобном вопросе herabouts (относительно создания временных файлов (где основная направленность полученных ответов вполне справедливо "не делайте этого" ), что такое приглашение может быть поднято "в коде", но я не видит, где этот метод действительно объясняется.