Russian Qt Forum
Ноябрь 22, 2024, 13:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Запускать как админ без сообщений UAC  (Прочитано 10235 раз)
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« : Январь 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, нужно ли в них совать свои манифесты?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Январь 09, 2018, 14:57 »

Вторая попытка: Вместо всего того что написано в шапке пробую:

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

в pro файле. В выходном экзешнике эти параметры есть, нашёл их там просто открыв экзешник в Notepad. Однако не помогает, UAC всё кажет предупреждение.
Записан
sckameikin22
Гость
« Ответ #2 : Май 22, 2018, 13:48 »

И как решили проблему?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.125 секунд. Запросов: 23.