![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Ошибка Установки UAC при Запуске ActiveX-контрола на Windows 7/8: Решение Проблемы с Правами АдминистратораDelphi , Технологии , ActiveXРазработчики часто сталкиваются с проблемами, связанными с правами администратора при работе с ActiveX-контролами в Internet Explorer, особенно на операционных системах Windows 7 и 8. Одна из таких проблем связана с запуском исполняемых файлов (.exe) без повышения привилегий. В данной статье мы рассмотрим, как можно решить проблему, при которой ActiveX-контроль не может запустить исполняемый файл без запроса на повышение привилегий в пользовательских сессиях без администраторских прав. ПроблемаРазработанный ActiveX-контроль предназначен для установки в Internet Explorer 8 и выше. Контроль проверяет наличие ключа в реестре и, при необходимости, загружает и устанавливает небольшой инсталляционный пакет. Для пользователей с правами администратора все работает корректно на Windows 7 и 8 с любой версией IE 8+. Однако, для пользователей без прав администратора, несмотря на то, что сам контроль должен быть установлен администратором, он запускается, загружает исполняемый файл Пример кода на Object Pascal (Delphi)
Анализ проблемыActiveX-контроль выполняется с низкими привилегиями, как и процесс IE. Однако, почему для запуска инсталляции требуется повышение привилегий? Инсталляционный пакет не требует администраторских прав, и это указано в манифесте. Попытки добавить ActiveX-контроль в исключения политики повышения привилегий в IE не увенчались успехом.
Подтвержденное решениеWindows UAC использует некоторые критерии для определения инсталляторов. Если имя файла содержит слова "setup", "update", "install", UАК автоматически запустит программу с администраторскими привилегиями. Это детектирование основано на эвристике. Достаточно переименовать Рекомендации
ЗаключениеПроблема с запуском исполняемых файлов из ActiveX-контролей в IE может быть решена путем изменения имени файла, чтобы оно не соответствовало эвристическим правилам УАК. Это простое решение может значительно упростить процесс установки для конечных пользователей. Проблема заключается в том, что разработанный ActiveX-контроль для Internet Explorer не может корректно запустить исполняемый файл на пользовательских сессиях без администраторских прав из-за требования User Account Control к повышению привилегий, что св Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |