Вновь скомпилированное приложение требует UAC / повышение прав? - PullRequest
2 голосов
/ 05 октября 2010

У меня есть система, я установил ее как обычную с UAC, и в моей среде delphi я компилирую свой проект с именем ka.exe, я создаю для него проект installshield.

setup и все завершаетсяХорошо!но всякий раз, когда я запускаю свою программу, она требует повышения прав, и я понятия не имею, почему.

, просто чтобы быть уверенным, что installshield не играет в мои игры, я скомпилировал новый .exe и скопировал его вручнуюна мой сетевой компьютер.

значок выглядит так же, и на нем также есть щит UAC.

внутри моего проекта есть некоторые функции, которые могут взаимодействовать с общим сетевым именем, иобщение с базой данных SQL ...

так зачем моему приложению для запуска требуется высота?

Ответы [ 3 ]

3 голосов
/ 06 октября 2010

Во-первых, если вы можете использовать Delphi, добавьте встроенный манифест с помощью asInvoker. Если вы не можете, то сделайте внешний и поместите его в ту же папку, что и exe. Если щит исчезает, отлично.

Если нет, то все становится мрачнее. Иногда, когда вы запускаете приложение, Windows появляется позже и говорит: «Возможно, это не сработало; хотите попробовать еще раз с рекомендуемыми настройками?» Если вы говорите «хорошо», то хранится групповая политика, которая поднимет это приложение на оставшееся время. Похоже, что если вы переименуете exe, эффект групповой политики прекратится. Вы можете попробовать это.

3 голосов
/ 07 октября 2010

Даже если в имени файла нет строки «SETUP» или «INSTALL», Windows может подумать, что требует повышения, если ресурсы VersionInfo содержат такие тексты.

Проверьте VersionInfo, попробуйте очистить любую подозрительную строку, так как я считаю, что Windows проверяет еще больше текстов (например, тексты не на английском языке).

0 голосов
/ 05 октября 2010

В Windows Vista и более поздних версиях, когда было включено UAC, администраторы по-прежнему не имеют полных прав, как мы видели в Windows XP и ниже.Если ваша программа пытается выполнить одну из административных задач (например, запросы в защищенных местоположениях системы; запись данных в защищенные местоположения, такие как% ProgramFiles%, каталог Windows, HKEY_LOCAL_MACHINE; и многие другие), ваша программа должна запросить повышение прав для предоставления пользовательского интерфейса согласияпоявится сообщение, которое требует одобрения администраторов.

Вы получите подробную информацию здесь

...