Сделать приложение с правами админа

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
BadBoyAlex
постоялец
Сообщения: 119
Зарегистрирован: 08.06.2010 12:42:23
Откуда: Россия, Белгород
Контактная информация:

Сделать приложение с правами админа

Сообщение BadBoyAlex »

Как нормально сделать приложение, требующее прав админа? То, как это реализовано в свойствах проекта, выдаёт "сервер возвратил ссылку".
ssadragon
постоялец
Сообщения: 148
Зарегистрирован: 03.12.2012 20:21:35

Сообщение ssadragon »

BadBoyAlex писал(а):Как нормально сделать приложение, требующее прав админа? То, как это реализовано в свойствах проекта, выдаёт "сервер возвратил ссылку".

Да, кстати интересный вопрос!
Тоже не помешало бы узнать!

Расскажите кто знает!!!! :D
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Сначала выпросить пароль админа, а потом отпочковаться форком.
Аватара пользователя
BadBoyAlex
постоялец
Сообщения: 119
Зарегистрирован: 08.06.2010 12:42:23
Откуда: Россия, Белгород
Контактная информация:

Сообщение BadBoyAlex »

Vadim писал(а):Сначала выпросить пароль админа, а потом отпочковаться форком.

Очень смешно. Однако сам являюсь админом. А UAC запустить отказывается.
Аватара пользователя
debi12345
долгожитель
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение debi12345 »

Как нормально сделать приложение, требующее прав админа?

Проще всего сделать это из двух частей - 1) сервис-демона или драйвера, стартующего при запуске ОС с правами админа 2) основной программы запрашивающей админ-операции у этого демона. Канал обмена между ними - либо сокеты, либо COM, либо CORBA,..
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

Если я правильно понимаю вопрос, то в инете пишут, что может помочь исправленный файл manifest

Код: Выделить всё

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
        <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="xXx" type="win32"/>
        <description>xXx</description>
            <dependency>
                <dependentAssembly>
                    <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" />
                </dependentAssembly>
            </dependency>
        <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
            <security>
                <requestedPrivileges>
                    <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
                </requestedPrivileges>
            </security>
        </trustInfo>
    </assembly>
Аватара пользователя
BadBoyAlex
постоялец
Сообщения: 119
Зарегистрирован: 08.06.2010 12:42:23
Откуда: Россия, Белгород
Контактная информация:

Сообщение BadBoyAlex »

Самое интересное - убрал uiAccess - нормально заработало. Кто знает, что это такое?
SeZuka
постоялец
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05

Сообщение SeZuka »

uiAccess Values
Possible uiAccess values:
False: The application does not need to drive input to the user interface of another window on the desktop. Applications that are not providing accessibility should set this flag to false. Applications that are required to drive input to other windows on the desktop (on-screen keyboard, for example) should set this value to true.
True: The application is allowed to bypass user interface control levels to drive input to higher privilege windows on the desktop. This setting should only be used for user interface Assistive Technology applications.
Important noteImportant
Applications with the uiAccess flag set to true must be Authenticode signed to start properly. In addition, the application must reside in a protected location in the file system. \Program Files\ and \windows\system32\ are currently the two allowable protected locations.

Что-то типа взаимодействия с окошками других приложений.
Кстати, чтобы работала отладка в приложениях которые запускаются от имени админа, нужно сам лазарус запускать от имени админа.
Аватара пользователя
amateur
энтузиаст
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Сообщение amateur »

может не в тему но, лазил на одном иностранном форуме и там бросили вот такое решение: http://www.delphipraxis.net/232752-post.html. Если не то не бейте сильно :twisted: .
Ответить