.NET manifiesto incrustado choques XP
-
19-09-2019 - |
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
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?