Вновь скомпилированное приложение требует UAC/ повышение прав?
У меня есть система, я установил ее как обычный с UAC, и в моей среде Delphi я компилирую свой проект с именем ka.exe, я создаю для него проект installshield.
настройка и все завершается хорошо! но всякий раз, когда я запускаю свою программу, она требует повышения, и я понятия не имею, почему.
просто чтобы быть уверенным, что installshield не играет в мои игры, я скомпилировал новый.exe и скопировал его вручную на сетевой компьютер.
значок выглядит так же, и на нем также есть щит UAC.
В моем проекте есть некоторые функции, которые могут быть связаны с общим сетевым именем и базой данных SQL...
так почему моему приложению нужна высота для запуска?
3 ответа
Во-первых, если вы можете использовать Delphi, добавьте встроенный манифест с asInvoker
, Если вы не можете, сделайте внешний и поместите его в ту же папку, что и exe. Если щит исчезает, отлично.
Если нет, то все становится мрачнее. Иногда, когда вы запускаете приложение, Windows появляется позже и говорит: "Возможно, это не сработало; хотите попробовать еще раз с рекомендуемыми настройками?". Если вы говорите "хорошо", то хранится групповая политика, которая поднимет это приложение до конца. Похоже, что если вы переименуете exe, действие групповой политики прекратится. Вы можете попробовать это.
Даже если в имени файла нет строки "SETUP" или "INSTALL", Windows может подумать, что требуется повышение, если ресурсы VersionInfo содержат такие тексты.
Проверьте VersionInfo, попробуйте очистить любую подозрительную строку, так как я считаю, что Windows проверяет еще больше текстов (например, тексты не на английском языке).
В Windows Vista и более поздних версиях, когда было включено UAC, администраторы по-прежнему не имеют полных прав, как мы видели в Windows XP и ниже. Если ваша программа пытается выполнить одну из административных задач (например, запросы в защищенных местоположениях системы; записывать данные в защищенные местоположения, такие как%ProgramFiles%, каталог Windows, HKEY_LOCAL_MACHINE; и многие другие), ваша программа должна запросить повышение прав для предоставления пользовательского интерфейса согласия подскажите появиться которые нуждаются в одобрении администраторами.
Вы получите подробную информацию здесь