c# archivo manifiesto permisos administrador

NeB1

Toma titulo.

Estoy haciendo una aplicación y estoy ya en la fase final del desarrollo, tan solo me falta que cuando lo abres en windows vista y windows 7, te solicite que lo ejecutes como administrador.

He definido el archivo de manifiesto así:

<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
  <assemblyIdentity version="1.0.0.0"
     processorArchitecture="X86" name="Publitool.exe" type="win32" /> 
  <description>Description of your application</description> 
  <!-- Identify the application security requirements. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
	<security>
		<requestedPrivileges>
			<requestedExecutionLevel level="requireAdministrator" />
		</requestedPrivileges>
	</security>
  </trustInfo>
</assembly>

Pero lo único que consigo es que me salte un error que dice

"La operación solicitada requiere elevación". Es decir, si no le doy yo manualmente a ejecutar como administrador, no me abre la aplicación, sin embargo no me pide dicho permiso automáticamente.

He probado con varios tipos de manifiesto diferente que he ido sacando de tutoriales y de guias del uac y de mil sitios. Alguna idea?

Soltrac

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
<applicationRequestMinimum>
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
</applicationRequestMinimum>
</security>
</trustInfo>
</asmv1:assembly>

Es un copy paste de la default cambiando asInvoker por requireAdministrator.

Pero de todas formas haces algo mal pq si abres la aplicación manualmente como administrador debería arrancar.

Has marcado la opción de "icono y manifiesto" bien?

NeB1

#2 si si, si manualmente la ejecuto como administrador vá bien. voy a probar con tu manifiesto a ver.

Puto UAC, puto windows vista, y puto windows 7 xD

EDIT ---

Pasa lo mismo :(

Puede ser algún tipo de configuración del ordenador en el que estoy realizando las pruebas?

Soltrac

#3 Q estás haciendo exactamente para q te pida privilegios de admin?

NeB1

#4 cambiar el friendlyname de un dispositivo bluetooth usb en la pila de microsoft para windows vista y windows 7.

Esta es la única acción que requiere dicho permiso. De todas formas al final era cosa del PC en el que lo estaba probando, pues en otro vista ha ido perfectamente, me pedía el permiso y tal. No sé que tendrá el otro PC en la configuración...

Gracias por la ayuda de todas formas ^^

r2d2rigo

Quiza el nivel de UAC era demasiado alto, y evitaba dar privilegios de cualquier manera.

NeB1

#6 No sabía que eso podía ocurrir...

Usuarios habituales

  • NeB1
  • r2d2rigo
  • Soltrac