Pregunta

Estoy desarrollando algunos WinForms, ejecutando XP y VS 2005 (antiguo, lo sé). Me gustaría asegurarme de que mi aplicación pueda ejecutarse sin derechos de administrador, pero soy demasiado vago para intentar ejecutar VS como no administrador, y no quiero iniciar y cerrar sesión para probar mi aplicación.

¿Hay alguna manera de que yo pueda depurar como un no administrador?

¿Hay un conjunto de atributos de seguridad de acceso al código que puedo agregar a mi código que me obligue a ejecutar en el mismo conjunto de permisos que un administrador?

¿Fue útil?

Solución

Ejecute VS como otro usuario desde su sesión de escritorio iniciada sesión actual. Consulte Cómo habilitar y usar el " Ejecutar como " comando al ejecutar programas en Windows . Esto significa que no tendrá que iniciar y cerrar sesión.

Sugeriría que ejecute su aplicación de destino como otro usuario, a través de RunAs, y luego adjunte el VS Debugger al proceso (si es necesario), a través de Debug > Adjuntar al proceso ... elemento de menú en Visual Studio.

Otros consejos

Sobre la base de la respuesta de Phil, puede automatizar el proceso configurando el proyecto de inicio en:

Inicia el programa externo: c:\windows\system32\runas.exe

con los argumentos de la línea de comando: / noprofile / user: {MachineName} \ {UserName} {ApplicationName} .exe

Desafortunadamente, no creo que haya una forma automática de adjuntar el proceso al depurador VS (debido a la advertencia de seguridad), sino llamando de manera condicional

#if (DEBUG) 
    System.Diagnostics.Debugger.Launch();
#endif

se le pedirá que se adjunte a un depurador con dos clics.

Acercarse a esto con un cambio más fundamental:

Si habilita su computadora para permitir sesiones simultáneas de Escritorio remoto ( Vista , XP , use Google para otros), luego inicie una sesión de Escritorio remoto en 127.0.0.2, puede ejecutar como un usuario completamente diferente en su sistema local, permitiéndole hacer lo que quiera quisiera sin tener que cambiar entre usuarios.

Para mí, normalmente ejecuto como usuario no administrativo, pero inicio una sesión de Escritorio remoto como Administrador cada vez que necesito ejecutar una tarea administrativa. Pero puede hacer lo contrario con la misma facilidad.

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