jueves, 9 de agosto de 2012

Visual Studio 2010 (app.manifest): lograr que nuestra aplicación se ejecute como Administrador

En días pasados mientras desarrollaba una aplicación me tope con la necesidad de que mi aplicación solicitará permisos de administrador para que pudiera realizar el proceso de Adjuntar una base de datos dentro de SQL Server 2005. El proceso que les menciono únicamente lo podía realizar correctamente si mi aplicación estaba corriendo con permisos de administrador en Windows 7. 

En momento de diseño fácil lo podía hacer si mi Visual Studio lo corro como administrador, pero el problema surgió al momento de implementar la aplicación, ya que al momento de instalar el programa con el instalador creado desde Visual Studio, esta aplicación ¡no corría como administrador!. Entonces cómo iba a poder lograr esto....fácil le pongo en el manual de usuario los pasos para poder ejecutar la aplicación como administrador haciendo clic derecho o bien habilitando la opción dentro de la pestaña de compatibilidad del ejecutable de mi aplicación...eso es lo que hubiera hecho si no hubiera querido optimizar mi aplicación.

Para poder lograr que la aplicación automáticamente solicite permisos de administrador, basta con agregar un pequeño archivo a nuestro proyecto y modificar unas cuantas lineas de código. A continuación les describo como agregar y modificar el app.manifest de nuestro proyecto en Visual Studio 2010.

Pasos para agregar el app.manifest a nuestro proyecto

El primer paso es tener abierto nuestro proyecto dentro de Visual Studio (¿obvio no?). Una vez abierto el proyecto basta con dar clic derecho al nombre de la solución dentro del Explorador de Soluciones y en la opción de agregar dar clic en "nuevo elemento".

Una vez estando en la ventana de plantillas elegir la categoría de "General" y elegir la plantilla de "Archivo de manifiesto de aplicación", y dar clic en Agregar.


Una vez agregado el app.manifest basta con modificar la linea siguiente:

<requestedExecutionLevel level="asInvoker" uiAccess="false" />

para que quede de la siguiente manera:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

Una vez hecho esto guardamos nuestro archivo y ya lo podemos cerrar. Ya guardado el archivo basta con verificar que nuestro archivo guardado ya este vinculado a nuestro proyecto, para esto solo es necesario abrir la ventana propiedades de nuestro proyecto y verificar en la categoría "Aplicación" que el manifiesto sea nuestro archivo que acabamos de agregar.



Espero les sirva de algo, si hay un comentario o dudas favor de comentar.

3 comentarios:

  1. Gracias Ivan, esto me ayudo a resolver una duda que tenía con un proyecto personal. Ya estoy esperando la próxima entrada para poder aprender más.

    Saludos!!

    ResponderEliminar
    Respuestas
    1. De nada, que bueno que te haya servido de algo el articulo.

      Saludos que estés bien.

      Eliminar