Как настроить программу так, чтобы она всегда открывалась с правами администратора?

Как создать в программе на Python запрос на получение прав администратора и отобразить значок "щита" перед иконкой приложения при открытии, используя auto-py-to-exe?
  • 19 января 2024 г. 17:49
Ответы на вопрос 2
Для того чтобы программа всегда запускалась с правами администратора в операционной системе Windows, можно использовать один из следующих способов:

1. Использовать свойство ярлыка:
   - Создайте ярлык для вашего приложения.
   - Кликните правой кнопкой мыши по ярлыку и выберите "Свойства".
   - Перейдите на вкладку "Совместимость".
   - Нажмите кнопку "Изменить параметры для всех пользователей", если она есть.
   - В разделе "Уровень прав" поставьте галочку напротив "Запускать эту программу от имени администратора".
   - Примените изменения и закройте все окна свойств.

2. Изменить манифест исполняемого приложения:
   - В исполняемом файле вашего приложения можно определить манифест, который указывает Windows требование запуска программы с правами администратора.

Для Python-приложений, скомпилированных в .exe при помощи библиотеки PyInstaller через `auto-py-to-exe`, можно добавить запрос на права администратора, добавив манифест в файл сборки, для этого:

1. Во-первых, создайте файл манифеста с названием `your_app.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.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!--The ID below indicates application support for Windows Vista -->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <!--The ID below indicates application support for Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
      <!--The ID below indicates application support for Windows 8 -->
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
      <!--The ID below indicates application support for Windows 8.1 -->
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
      <!--The ID below indicates application support for Windows 10 -->
      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
    </application>
  </compatibility>
</assembly>
```

2. При запуске `auto-py-to-exe`, перейдите в раздел "Advanced" и установите флажок "Manifest" (выберите файл `your_app.manifest`).

Что касается отображения значка "щита" перед иконкой приложения, это автоматический механизм Windows для указания на то, что приложение запрашивает у пользователя права администратора при запуске. Обычно, если ваше приложение настроено запрашивать права администратора (как указано выше), Windows самостоятельно добавит значок "щита" к иконке.

Учтите, что пользователь при каждом запуске приложения увидит диалоговое окно контроля учётных записей (User

Для добавления значка "щита" перед иконкой программы, вы можете создать файл манифеста (your_program.exe.manifest) с указанием требования администраторских прав. Пример содержимого манифеста:
Похожие вопросы