miércoles, 9 de febrero de 2011

Como solicitar derechos de administrador de una aplicación Delphi

Muchas veces nos hemos topado que en las versiones de Windows 7 en Vista se requiere confirmar que el programa que estamos ejecutando pueda correr con derechos de administrador, incluso tenemos que modificar las propiedades de los programas para que corran con compatibilidad y derechos de administrador.

Bueno pues, para el caso en que tengas una aplicación que necesite correr con estos derechos y esta construida en Borland Delphi esto debes hacer:


Paso 1: Crear un archivo XML con la siguiente información:

<?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="ElNombreDeTuEjecutable"
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>

Guarda el archivo con el NombreDeTuAplicación.manifest.

Paso 2:

Crea un archivo de texto que contenga lo siguiente:
1 24 "NombreDeTuAplicación.manifest"

Nombra este archivo de texto como SolicitaAdmin.RC y utilizando la linea de comandos de Windows nos dirigimos a la carpeta bin de delphi y ejecutamos el siguiente comando:

Step 3:

Ejecutar comando

brcc32 SolicitaAdmin.RC -foSolicitaAdmin.RES

Esto creará un archivo de tipo resource que contendrá la información del archivo manifest, este archivo será llamado SolicitaAdmin.RES

Copia todos los archivos a la carpeta de tu aplicación junto con el .dpr.

Paso 4: Agrega el archivo al proyecto desde el menú del IDE:

{$R 'SolicitaAdmin.RES' 'SolicitaAdmin.RC'}

Finalmente construye la aplicación y listo, ya esta preparada para ejecutarse con derechos de administrador en Windows 7 y Visto.


c'ya

4 comentarios:

  1. me muestra un error al ejecutar este comando
    brcc32 SolicitaAdmin.RC -foSolicitaAdmin.RES
    el error es: Error brcc32 SolicitaAdmin.RC 1 1: Expecting resource name or resource type name. Actual mente tengo Windows 7 professional 32bits

    ResponderEliminar
  2. Revisa tu archivo .rc, falta el nombre del resource o el tipo

    ResponderEliminar
  3. No me crear el archivo .RES alguien sabe porque?

    ResponderEliminar
  4. hay fallos de sintaxis en el codigo xml

    ResponderEliminar