Russian Qt Forum

Компиляторы и платформы => Windows => Тема начата: Alex Custov от Январь 09, 2018, 14:23



Название: Запускать как админ без сообщений UAC
Отправлено: Alex Custov от Январь 09, 2018, 14:23
Система Win10. Qt 5.9.2 + MSVC 2015 64-bit. Есть программа на Qt (использует только модуль core). Нужно её пускать в правами админа и без запросов UAC. Права админа я назначаю с помощью INNO Setup во время установки, с этим всё в порядке. Но при запуске программы всё время вылазит окно UAC. Делаю так чтобы от него избавиться:

убираю встроенный Qt-шный манифест из .pro:
Код:
CONFIG -= embed_manifest_exe

Далее вручную создаю manifest:

Код
XML
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
 <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
   <security>
     <requestedPrivileges>
       <requestedExecutionLevel level='requireAdministrator' uiAccess='false' />
     </requestedPrivileges>
   </security>
 </trustInfo>
 <dependency>
   <dependentAssembly>
     <assemblyIdentity type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*' />
   </dependentAssembly>
 </dependency>
</assembly>
 

И вручную его добавляю в Exe-шник как советуют в сети:

Код:
mt.exe -manifest my.exe.manifest -outputresource:my.exe

Однако при запуске программы всё равно вылазит окно UAC, т.е. манифест не работает. Есть идеи?

P.S. Программа использует сторонние DLL, нужно ли в них совать свои манифесты?


Название: Re: Запускать как админ без сообщений UAC
Отправлено: Alex Custov от Январь 09, 2018, 14:57
Вторая попытка: Вместо всего того что написано в шапке пробую:

Код:
QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"

в pro файле. В выходном экзешнике эти параметры есть, нашёл их там просто открыв экзешник в Notepad. Однако не помогает, UAC всё кажет предупреждение.


Название: Re: Запускать как админ без сообщений UAC
Отправлено: sckameikin22 от Май 22, 2018, 13:48
И как решили проблему?