Windows принудительно назначает повышение прав UAC для файлов, если их имена содержат & quot; update & quot ;?

Я использую Windows 7 и Microsoft Visual Studio 2010.

Я создал простой проект с одним MessageBox() вызывать WinMain(), Название проекта "update", поэтому имя EXE-файла update.exe, Я отключил генерацию манифеста в настройках компоновщика. Но когда я пытаюсь начать отладку в Visual Studio, он говорит, что мое приложение требует повышения прав.

Я решил запустить приложение, щелкнув по нему в проводнике Windows, но оно по-прежнему требует прав администратора. Я переименовал его в update12345.exe и к 12345update12345.exe, но это все еще требует возвышения.

Но когда я переименовал его в 12345.exe, он работал отлично, не запрашивая прав администратора! Я думал, что Windows требует повышения прав для всех файлов, имя которых содержит "update" подстрока. Итак, я взял другой файл (debugview.exe из SysInternals DebugView) и переименовал его в update.exe — но это работает без возвышения.

В чем может быть причина этого странного поведения?

1

Решение

Если ваше приложение не содержит запрашиваемый уровень исполнения в своем манифесте, технология обнаружения установщика проверяет, содержит ли его имя «обновление», «установка» и т. Д., Чтобы определить, является ли приложение установщиком.
Это объясняется тем, что ваше приложение требует UAC при переименовании в «Обновить«, и другое приложение, кроме манифеста нет.

3

Другие решения


По вопросам рекламы [email protected]