Это проблема Microsoft? - PullRequest
0 голосов
/ 19 мая 2010

У меня исполняемый файл выполнил VC6 и имя файла patch.exe, манифест не был добавлен, в этом случае EXE-файл требует прав администратора, хотя я удалил все коды, просто оставьте пустую главную (), результат тот же. Но если я изменю EXE с patch.exe на a.exe, проблема исчезнет.

Ниже приведен мой результат теста. 1. EXE был соблюден VC6 2. Без манифеста или без особых привилегий в манифесте 3. имя exe включало подстроку "patch", без учета регистра

Это проблема Microsoft? Почему?

Пробовал VC2008, я не могу повторить.

1 Ответ

3 голосов
/ 19 мая 2010

Функция UAC в Vista и т. Д. Действительно использует имя исполняемого файла, чтобы угадать, понадобятся ли ему повышенные привилегии администратора. Таким образом, «устаревшие» программы установки, такие как setup.exe, install.exe, patch.exe (и другие, полагаю, тоже), которые не содержат манифеста, получат соответствующие привилегии, даже если пользователи не используют «Запуск от имени администратора» . "для этого.

Почему версия VC2008 не вызывает запрос на эскалацию? Я не знаю. Возможно, где-то есть встроенный манифест, который явно или неявно говорит, что он не нужен.

Подобный вопрос уже задавался в StackOverflow.

Как запретить Vista требовать повышения прав на patch.exe?

...