2010-11-03 15 views
14

Tengo un proyecto con un archivo de manifiesto con el nodo siguiente:Cómo incrustar un archivo de manifiesto en tiempo de compilación en Visual Studio 2010

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

... es decir, yo quiero que la única carrera "como administrador" por defecto.

de buscar alrededor, para hacer este trabajo tengo dos opciones:

  1. "Integrar" la misma.
  2. despliegue el archivo de manifiesto con el exe y asígnele el nombre YourProject.exe.manifest.

He intentado la opción 2, y cuando ejecuto mi aplicación, ¿no solicita derechos de administrador?

Entonces, ¿cómo hago la opción 1 en VS2010? He oído hablar de mt.exe, pero esto no es bueno para mí, ya que está hecho después de la compilación. Necesito la opción de parte de la solución y el archivo del proyecto en sí.

Entonces, ¿cómo puedo hacer esto? Estaré feliz de hacer 2, pero parece que no funciona?

+1

Si está desarrollando aplicaciones nativas C++, es más sencillo. Simplemente abra las propiedades del proyecto/archivo de vinculador/manifiesto, y seleccione un nuevo valor para "nivel de ejecución de UAC". – swigger

Respuesta

21

En Visual Studio 2010, la configuración predeterminada para un proyecto nuevo es incrustar el manifiesto en la aplicación (opción # 1). Por defecto, se incluye un manifiesto predeterminado. Lo que necesita hacer es agregar un manifiesto personalizado.

  • Haga clic derecho sobre el proyecto y seleccione "Agregar nuevo elemento"
  • Seleccione "Aplicación archivo de manifiesto"

Esto añadirá un archivo llamado app.manifest al proyecto. Abrir ese archivo y modifique la línea para ser el siguiente

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

Esto también debería funcionar en Visual Studio 2008.

+0

+1 ahh ... bien, ¿y no hay necesidad de cambiarle el nombre a nada? – andy

+0

¡ah, ja! ¡eres un genio! ¡aclamaciones! – andy

+7

No puedo encontrar un Archivo de Manifiesto de Aplicación entre las plantillas. ¿Qué categoría (Código, Datos, General, etc.) tiene? –

8

Bajo VS2010 es un poco diferente. Haga clic derecho en el Proyecto y seleccione Propiedades. Seleccione la pestaña "Aplicación" y luego haga clic en "Ver configuraciones de Windows". Esto abre el manifiesto. Luego realiza los cambios que necesitas.

+4

Eso está disponible en el vb.net IDE solamente. La respuesta aceptada describe el modo C#. –

+0

Gracias a @HansPassant, finalmente abrí el camino en VB.NET – tete

0

Acabo de encontrarme con el mismo problema causado al copiar una aplicación existente. Manifesté en otro proyecto (C#).

Lo arreglé descargando el proyecto y editándolo.

que inserta la sección follwing en:

<PropertyGroup> 
    <ApplicationManifest>app.manifest</ApplicationManifest> 
    </PropertyGroup> 

Esto permitió que mi solicitud para recoger la app.manifest correctamente

Cuestiones relacionadas