c# - subir - ¿Cómo forzar mi proyecto en Visual Studio 2013 para que siempre se ejecute como administrador?
roslyn c# (2)
Esto es interesante y parece que necesita cambiar los permisos de cómo se ejecuta el proyecto. Intente hacer lo siguiente
- ir a Propiedades del proyecto> Seguridad
- habilitar la configuración de seguridad de clic una vez y seleccionar la aplicación de confianza completa
Más información en este enlace Seguridad de WPF
Tengo un proyecto de WPF en Visual Studio 2013, este proyecto tiene dos botones. El primer botón dice Iniciar servicio y el segundo dice Detener servicio. Cuando ejecuto mi Visual Studio como administrador, los botones funcionan. Pero cuando abro mi Visual Studio sin privilegios, aparece la excepción InvalidOperationException.
¿Cómo forzar a mi proyecto a comenzar con privilegios cuando Visual Studio no se ejecuta como administrador?
Añadí app.manifest a mi proyecto y cambio por
level = "requireAdministrator" uiAccess = "false" />
pero no funcionó.
Para iniciar o detener mi servicio, estoy usando ServiceController.
Como menciona Torben M. Philippsen en su artículo :
- En Visual Studio 2010 (supongo que lo mismo se aplica a VS2008, pero no lo he probado), haga clic derecho en su proyecto y seleccione "agregar nuevo elemento"
- Agregue un archivo de manifiesto de la aplicación: el nombre predeterminado será app.manifest.
Dentro del archivo de manifiesto, cambie la configuración existente de
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
A
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Guarde y cierre el archivo de manifiesto.
- Tenga en cuenta que su archivo de manifiesto no se mostrará en ninguna parte de su solución. Para solucionarlo, en el explorador de soluciones, haga clic en el botón "mostrar todos los archivos".
- Importante: haga clic con el botón derecho en el archivo de manifiesto y agréguelo al proyecto. Lo necesitamos para decirle a VS que use el archivo de manifiesto al compilar nuestra aplicación.
- Haga clic derecho en su proyecto y seleccione "propiedades".
- En la pestaña de la aplicación, en la sección inferior, seleccione el archivo de manifiesto:
selección de archivo de manifiesto
Compila y ejecuta la aplicación. Si la configuración de su UAC está habilitada, se le pedirá que permita que la aplicación se inicie en modo elevado.
A veces puede ser útil verificar si su aplicación se está ejecutando realmente en modo elevado o no. Tal vez encuentres útil este codenippet:
WindowsPrincipal myPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); if (myPrincipal.IsInRole(WindowsBuiltInRole.Administrator) == false ) { //show messagebox - displaying a messange to the user that rights are missing MessageBox.Show("You need to run the application using the /"run as administrator/" option", "administrator right required", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { MessageBox.Show("You are good to go - application running in elevated mode", "Good job" ,MessageBoxButtons.OK, MessageBoxIcon.Information); }