Как я развертываю приложения в выполненном как режим администратора?

Как я развертываю приложения так, чтобы они потребовали прав администратора без конечного пользователя, делающего это вручную?

Я использую Delphi 2009 для создавания приложения.

8
задан Kate Gregory 28 June 2010 в 18:47
поделиться

2 ответа

Вы можете сообщить Windows, что ваше приложение должно запускаться от имени администратора, используя элемент requestedExecutionLevel в манифесте приложения.

Файл манифеста - это файл XML, который выглядит следующим образом. Он должен называться YourApp.exe.manifest и находиться в той же папке, что и исполняемый файл. (Он также может быть встроен в ресурсы вашего приложения; он должен иметь тип ресурса RT_MANIFEST и идентификатор 1.)

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
  <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="YourApp" type="win32"/> 
  <description>Description of your application</description> 
  <!-- Identify the application security requirements. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

Для получения дополнительных сведений о манифестах приложений и о том, как их создавать, см. Создайте и встроите манифест приложения (UAC) в MSDN.

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

11
ответ дан 5 December 2019 в 12:57
поделиться

Другой вариант, хотя и не рекомендуемый для «повседневных приложений», - присвоить исполняемому файлу имя «Install» или «Setup» в качестве части имени. Имейте в виду, что если вы не измените какие-либо параметры реестра или не создадите какие-либо новые файлы, Windows отобразит предупреждение для пользователя о том, что программа могла работать некорректно.

2
ответ дан 5 December 2019 в 12:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: