How to add manifest <requestedPrivileges> info into delphi project

Solution 1:

Here are some links

Delphi and Windows Vista User Account Control

Vista UAC Manifest

Here are the steps:

Create XML file with following content: 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity version="1.1.1.1"
   processorArchitecture="X86"
   name="YourApplicationExeName"
   type="win32"/>
  <description>elevate execution level</description>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
  <security>
   <requestedPrivileges>
    <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
   </requestedPrivileges>
  </security>
  </trustInfo>
 </assembly>

Name this XML file as YourApplicationName.manifest

Create a text file with following content:

1 24 "YourApplicationName.manifest"

Name this text file as YourApplicationName.RC using the command line execute following command:

brcc32 YourApplicationName.RC -foYourApplicationName.REC

This will create a new resource file called YourApplicationName.REC Copy this YourApplicationName.REC file in to the resource path of your application. Include this resource file into the DPR of you application,

as like:

{$R YourApplicationName.REC} Finally build your application - it is now ready to get admin rights

Solution 2:

You should add the entire manifest. You'll need to disable the IDE generated version in the project.

The advantage of this is that you will have full and transparent control of your manifest. For example you may want to add a DPI aware entry so that your app looks good at higher font scaling values.