2 идентичные программы;Только 1 просит повышения - PullRequest
6 голосов
/ 06 июля 2011

У меня возникла интересная проблема при компиляции моих программ на win32 (mingw). У меня есть 2 одинаковых проекта, оба созданы в C :: B. При компиляции один работает нормально, не требуя повышенных разрешений, а другой предлагает пользователю диалог «Разрешить программе вносить изменения в компьютер и т. Д.». Я хотел бы, чтобы приложение не запрашивало пользователя, поскольку оно не требует повышенных привилегий.

Это под Win7 x64.

Может ли это быть проблемой Code :: Blocks или проблемой компилятора?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 07 июля 2011

Оказывается, Win7 помечает файлы с именем «update» (без учета регистра) в имени как требующие повышенных разрешений. Так что да, стоит знать на будущее

1 голос
/ 07 июля 2011

Как вы уже обнаружили, Windows обнаруживает определенные имена приложений, которые она считает программами установки, и старательно предварительно повышает их, чтобы обеспечить их успешное выполнение.

Однако это поведение включено только для исполняемых файлов, которыеотсутствует информация UAC в их манифесте Win32.Поэтому, если у вас есть программа с одним из затронутых имен, просто дайте ей манифест с соответствующей информацией UAC, и вы не получите нежелательных приглашений.

например, блог Аарона http://brethorsting.com/blog/2007/02/meet_uac_-_creating_a_uac_manifest/

Martyn

...