Права администратора для приложения Windows

Мне нужно создать и записать в файл под C: \ в Windows. Для этого явно требуются права администратора.

Мое приложение состоит из:

  • CORE (.exe)
  • два .dll

Я видел много программного обеспечения (например, игр), которое требует администратора прямо во время установки и после того, как они могут делать все, что захотят; как это возможно?

Как я мог сделать это через C ++?


person LppEdd    schedule 21.07.2013    source источник
comment
Просто интересно: [..] требовать администратора прямо во время установки и после того, как они могут делать все, что захотят [...]? Какой например?   -  person Lucas    schedule 21.07.2013
comment
Я думаю, например, FIFA или F1 2012, они управляют своими настройками в C: \ Programs ...   -  person LppEdd    schedule 21.07.2013
comment
Некоторые игры просто изменяют права доступа к своей папке в C:\Program Files. Microsoft не рекомендует делать это (хотя было время, когда они это делали), вместо этого следует установить изменяемые файлы данных в C:\ProgramData\<company>\<app>\....   -  person    schedule 23.07.2013


Ответы (1)


Если вы хотите, чтобы ваше приложение всегда запускалось от имени администратора, вы можете указать это в файле манифеста вашего приложения.

В частности, вам нужно будет добавить что-то вроде этого:

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
    </requestedPrivileges>
  </security>
</trustInfo>

Подробнее о файлах манифеста приложения можно найти в MSDN.

person Community    schedule 21.07.2013