Pregunta

Estoy incrustar un manifiesto en un exe .NET para que pueda solicitar permisos elevados en Vista y Windows 7. El manifiesto que estoy usando es el siguiente:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0"  name="ElevationTest" type="win32"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

Se trabaja como se espera en Vista y Windows 7, pero se estrella XP con el estándar "... ha detectado un problema y debe cerrarse ..." error. Si no incrustar cualquier manifiesta entonces funciona como se esperaba, pero obviamente no tiene los permisos requeridos en Vista y Windows 7.

¿Qué es una forma estándar de producir un exe que funcionará con los permisos correctos en XP y Vista / Windows 7?

Gracias, Alan

¿Fue útil?

Solución

Creo que el manifiesto puede ser una pista falsa. Acabo de crear una aplicación de consola con ese manifiesto incrustado, que apuntan a .NET 2.0 y funciona felizmente en XP SP3.

¿Ha intentado ejecutar la aplicación en XP sin el manifiesto incrustado? Además, la versión de .NET se apuntan a que, ¿qué tipo de aplicación .NET es que (WPF, WinForms, servicio, etc.) y, finalmente, (tengo que preguntar), es la versión correcta de .NET instalado en la máquina de XP?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top