Pregunta

Acabo de crear un programa VS C++ 6.0 usando VS 2008.Cuando intento ejecutar o depurar la aplicación, Vista me pide permiso.¿Qué tiene la forma en que se construye el programa que causa esto?El programa se está compilando y ejecutando desde una subcarpeta de C:\Dev

Esta respuesta No tenía sentido para mí como solución al problema.

¿Fue útil?

Solución

Posibilidad 1:

Su programa está marcado como que necesita derechos de administrador en su manifiesto

Posibilidad 2:

Su programa se llama setup.exe o install.exe; estos nombres de programas siempre hacen que se requieran derechos de administrador

Para una explicación detallada de esas y otras posibilidades por las que ve este cheque Conociendo el artículo de Technet sobre el control de cuentas de usuario

Otros consejos

El MVP estaba hablando de ejecutar su código y proyecto desde su carpeta de usuario, por ejemplo c:\users\yourname\appdata o algo en esa ruta.

No desactive UAC para solucionar este problema; de lo contrario, su aplicación no se ejecutará en otra máquina a menos que tenga UAC desactivado.Es una muy mala práctica.Su aplicación, en un mundo perfecto, debería solicitar permisos elevados al usuario.

Gracias Suma.Su respuesta es la mejor hasta ahora y me ayudó a llegar a una solución.He determinado que la causa se explica por su primera sugerencia.Cambiar el nombre del archivo a algo que no contenga la palabra "configuración" no ayudó.

Resultó que estaba equivocado.Tengo instalados VS 2005 y VS 2008 y cuando intenté abrir el antiguo archivo .dsw, fue 2005 el que se lanzó y se ofreció a actualizar el proyecto.2005 aparentemente creó un manifiesto con una sola línea con la etiqueta "ensamblaje".Una vez que actualicé el proyecto usando VS 2008, se creó un archivo de manifiesto más extenso.Confirmé que el manifiesto se está incrustando en mi programa verificando la configuración Herramienta de manifiesto... Entrada y salida... Incrustar manifiesto.Este nuevo manifiesto incluye los siguientes datos:

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
      </requestedPrivileges>
    </security>   

Si no es administrador, probablemente no tenga permiso para ejecutar programas en C:\Dev.

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