¿Puede forzar a Visual Studio a ejecutarse siempre como administrador en Windows 8?

1013

En Windows 7, puede ingresar a la configuración de compatibilidad de programas y marcar para ejecutar siempre como Administrador. ¿Hay una opción similar en Windows 8?

Siempre he deshabilitado UAC en mis máquinas, e hice lo mismo después de mi actualización de Windows 8, o eso pensé. Resulta que no hay offopción, solo apaga las notificaciones.

Esto significa que no se ejecuta nada como administrador a pesar de estar en el grupo Administrador. Necesito seguir cerrando y volviendo a abrir mis consolas \ Visual Studio cuando intento depurar (adjuntar al proceso, no F5), lo cual es muy frustrante.

Es realmente molesto que necesite recordar tomar pasos adicionales para abrirlo como Administrador o decirle que se cierre y vuelva a abrir cuando vaya a depurar por primera vez.

Brian Surowiec
fuente
66
Creo que esta es una pregunta válida aquí, pero creo que también debería preguntar en SuperUser: puede haber una respuesta general.
Saludo Sangha
44
Si VS debe iniciarse como administrador, los permisos de sus archivos son incorrectos. Son fáciles de estropear con UAC deshabilitado.
KeatsPeeks
19
@Keats Se requieren privilegios administrativos para ejecutar una aplicación ASP.NET en IIS (ya que intentará crear automáticamente el directorio virtual, etc.)
codemonkeh
44
@camelBase Creo que los programas deben ejecutarse como administrador solo cuando sea necesario. Normalmente se deben ejecutar bajo privs inferiores. Eso es lo que hago.
VivekDev
1
Realmente no debería hacerlo porque si trabaja con 2 proyectos y solo uno necesita ejecutarse como administrador, no debe iniciar la otra instancia como administrador.
Phil1970

Respuestas:

2013

En Windows 8 y 10, debe hacer clic con el botón derecho devenv.exey seleccionar "Solucionar problemas de compatibilidad".

  1. Seleccione "Solucionar problemas del programa"
  2. Marque "El programa requiere permisos adicionales"
  3. Haga clic en Siguiente"
  4. Haga clic en "Probar el programa ..."
  5. Espera a que se inicie el programa
  6. Haga clic en Siguiente"
  7. Seleccione "Sí, guarde esta configuración para este programa"
  8. Haga clic en "Cerrar"

Si, cuando abre Visual Studio, le pide guardar los cambios en devenv.sln, vea esta respuesta para deshabilitarlo:

Deshabilite el cuadro de diálogo de guardar la solución devenv de Visual Studio


Si cambia de opinión y desea deshacer la configuración de compatibilidad "Ejecutar como administrador", consulte la respuesta aquí: Cómo corregir el formato Guid no reconocido en Visual Studio 2015

Siewers
fuente
40
Esta es la mejor solución que he encontrado. ¡Ahora puedo abrir archivos .sln desde Windows Explorer nuevamente!
Max Schilling
39
Del mismo modo, también resuelve soluciones ancladas que pueden ejecutarse como administrador. Gracias.
Berna
183
También puede hacer esto en el C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exearchivo si tiene instaladas varias versiones de Visual Studio. Además, las rutas predeterminadas a los archivos devenv.exe son: Visual Studio 2010 - C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe. Visual Studio 2012 -C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe
deadlydog
61
¿Cómo vuelves esto a lo que era?
Robert Koritnik el
96
@RobertKoritnik Esto es equivalente a agregar una entrada de registro con nombre C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exey valor RUNASADMINdebajo HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers. Eliminar la entrada revierte la configuración.
Piotr Szmyd
168

Después de buscar Super User, encontré esta pregunta que explica cómo hacer esto con el acceso directo en la pantalla de inicio. Del mismo modo, puede hacer lo mismo cuando Visual Studio está anclado a la barra de tareas. En cualquier lugar:

  1. Haga clic derecho en el icono de Visual Studio
  2. Ir Properties
  3. Debajo de Shortcut tabseleccionarAdvanced
  4. Cheque Run as administrator

establecer la operación predeterminada en modo administrador

A diferencia de Windows 7, esto solo funciona si inicia la aplicación desde el acceso directo que cambió. Después de actualizar ambos accesos directos de Visual Studio, parece que también funciona cuando abre un archivo de solución desde el Explorador.

Advertencia de actualización: Parece que uno de los principales defectos en la ejecución de Visual Studio con permisos elevados es que Explorer no se ejecuta con ellos y no puede arrastrar y soltar archivos en Visual Studio para editarlos. Debe abrirlos a través del cuadro de diálogo de abrir archivo. Tampoco puede hacer doble clic en ningún archivo asociado a Visual Studio y abrirlo en Visual Studio (aparte de las soluciones que parece) porque recibirá un mensaje de error que dice There was a problem sending the command to the program.Una vez que desmarco para comenzar siempre con permisos elevados (usando VSCommands) entonces ' Puedo abrir archivos directamente y soltarlos en una instancia abierta de Visual Studio.

Actualización para The Daring: a pesar de que no hay una interfaz de usuario para desactivar UAC como en el pasado, que vi al menos, aún puede hacerlo a través del registro. La clave para editar es:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
EnableLUA - DWORD 1-Enabled, 0-Disabled

Después de cambiar esto, Windows le pedirá que reinicie. Una vez reiniciado, volverá a todo lo que se ejecuta con permisos de administrador si es administrador. Los problemas que informé anteriormente también se han ido.

Brian Surowiec
fuente
99
Si desactiva UAC, algunas aplicaciones de Metro, como SkyDrive, ya no funcionarán.
krisdyson
1
Para Windows 8, la respuesta a continuación de TigerShark (clic derecho devenv.exe en el explorador, solución de problemas ...) parece una solución más completa.
James White
3
@ClaraOnager Haga clic derecho en el icono en la pantalla de inicio y seleccione 'Abrir ubicación de archivo'. Esto abrirá la carpeta en la que se guarda el acceso directo y luego podrá ver sus propiedades desde allí.
Brian Surowiec
19
@Boomerangertanger ¡Oh no, no mis aplicaciones de metro! </sarcasm>
Robert Christ
2
Las aplicaciones de metro rock. Final de.
krisdyson
59

NOTA en versiones VS recientes (2015+) parece que esta extensión ya no existe / tiene esta característica.


También puede descargar VSCommands para VS2012 de Squared Infinity que tiene una función para cambiarlo para que se ejecute como administrador (así como algunas otras partes interesantes)

ingrese la descripción de la imagen aquí

Actualizar

Se pueden instalar los comandos desde la barra de menú de Visual Studio usando Tools-> Extensions and Updatesseleccionando Onliney buscando vscommandsdónde se selecciona VSCommands for Visual Studio 20XXdependiendo de si se está usando 2012 o 2013 (o más adelante) y se descarga e instala.

No amado
fuente
2
Instalé esto después de actualizar los permisos de acceso directo, así que no estoy seguro de qué hace esto de manera diferente. Dejando a un lado los permisos de administrador, este complemento tiene algunas características interesantes que vale la pena revisar por sí mismas.
Brian Surowiec
3
La función VSCommands también funciona cuando inicia un proyecto desde el menú de acceso rápido de un acceso directo de la barra de tareas. ¡Cosas brillantes!
Sean Kearon el
@BrianSurowiec lo que hace pone algo en el inicio de VS para que si no se está ejecutando con el administrador se suicida y comienza una nueva instancia con el permiso de administrador
No amado
@DaveInCaz tristemente cierto. Creo que dejó de hacerlo. He editado la respuesta para notar esto.
No amado
36
  1. En el menú Inicio de Windows 8, seleccione Todas las aplicaciones
  2. Haga clic derecho en el icono de Visual Studio 2010
  3. Seleccione Abrir ubicación de archivo
  4. Haga clic derecho en el icono de acceso directo de Visual Studio 2010
  5. Haga clic en el botón Avanzado
  6. Marque la casilla de verificación Ejecutar como administrador
  7. Haga clic en Aceptar
Lou
fuente
2
Buena respuesta, pero solo funcionará cuando se inicie desde el ícono, NO si hace clic derecho en el ícono e inicia soluciones ancladas. Intenté con Windows 8 y 10 y solo el método de solución de problemas hasta ahora funciona para mí al lanzar soluciones ancladas.
djangojazz
23

Esta es una copia de mi respuesta a una publicación similar en SuperUser :

Opción 1: configure VSLauncher.exe y DevEnv.exe para que siempre se ejecuten como administrador

Para que Visual Studio siempre se ejecute como administrador al abrir cualquier archivo .sln :

  1. Navega hacia C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe.
  2. Haga clic derecho en VSLauncher.exey elija Solucionar problemas de compatibilidad .
  3. Elija Solucionar problemas del programa .
  4. Marque la casilla El programa requiere permisos adicionales y presione Siguiente.
  5. Haga clic en el botón Probar el programa ... para iniciar VS.
  6. Haga clic en Siguiente, luego presione Sí, guarde esta configuración para este programa y luego el botón Cerrar .

Para que Visual Studio siempre se ejecute como administrador al abrir Visual Studio directamente , haga lo mismo con los archivos DevEnv.exe. Estos archivos se encuentran en:

Visual Studio 2010

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe

Visual Studio 2012

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe

Visual Studio 2013

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe

Visual Studio 2015

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe

Visual Studio 2017

C:\Program Files (x86)\Microsoft Visual Studio\2017\[VS SKU]\Common7\IDE\devenv.exe

Opción 2: usar la extensión VSCommands para Visual Studio

Instale la extensión gratuita de VSCommands para Visual Studio (está en la Galería de extensiones de Visual Studio ) y luego configúrela para que siempre Visual Studio comience con privilegios de administrador yendo a Herramientas -> VSCommands -> Opciones -> Mejoras IDE -> General y marqueAlways start Visual Studio with elevated permissions y haga clic en el botón Guardar.

Nota: VSCommands no está disponible actualmente para VS 2015, pero su sitio dice que están trabajando en actualizarlo para admitir VS 2015.

Mi opinión

Prefiero la opción 2 porque:

  • También le permite desactivar fácilmente esta funcionalidad.
  • VSCommands viene con muchas otras características excelentes, así que siempre lo tengo instalado de todos modos.
  • es más fácil de hacer que la opción 1.
perro mortal
fuente
1
Windows 10: cada vez que abro el archivo .sln VS 2015 me pregunta si quiero guardar los cambios en devenv.exe
FrenkyB
1
@FrenkyB ¿Hizo los pasos enumerados para la Opción 1 para VS 2015? Configurarlo para que se ejecute como administrador debería solucionar ese problema. stackoverflow.com/a/14423461/602585
deadlydog
1
Ahora funciona. Acabo de guardar devenv.exe y ya no se queja.
FrenkyB
15

VSCommands no funcionó para mí y causó un problema cuando instalé Visual Studio 2010 aparte de Visual Studio 2012.

Después de algunos experimentos, encontré el truco:

Vaya HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersy agregue una entrada con el nombre "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe"y el valor "RUNASADMIN".

Esto debería resolver tu problema. También he blogueado sobre eso.

Daniel Lang
fuente
Por alguna razón, esto no funcionó para mí, pero agregar la entrada HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layerssí funcionó.
Piotr Szmyd
1
¿Esta respuesta no es funcionalmente idéntica a las dos primeras?
Maury Markowitz
7

Sé que esto es un poco tarde, pero descubrí cómo hacerlo modificando (leyendo, "pirateando") el manifiesto del archivo devenv.exe. Debería haber venido aquí primero porque las soluciones indicadas parecen un poco más fáciles y probablemente más compatibles con Microsoft. :)

Así es como lo hice:

  1. Cree un proyecto en VS llamado "Manifiestos Exe". (Creo que cualquier versión funcionará, pero utilicé 2013 Pro. Además, en realidad no importa cómo la llames).
  2. "Agregar elemento existente" al proyecto, busque el archivo Visual Studio exe y haga clic en Aceptar. En mi caso, fue "C: \ Archivos de programa (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe".
  3. Haga doble clic en el archivo "devenv.exe" que ahora debería aparecer como un archivo en su proyecto. Debería mostrar el exe en un editor de recursos.
  4. Expanda el nodo "RT_MANIFEST", luego haga doble clic en "1" debajo de eso. Esto abrirá el manifiesto del ejecutable en el editor binario.
  5. Busque la etiqueta solicitada Nivel de ejecución y reemplace "asInvoker" con "requireAdministrator". A la: <requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
  6. Guarda el archivo.

Acaba de guardar la copia del ejecutable que se agregó a su proyecto. Ahora necesita hacer una copia de seguridad del original y copiar su exe modificado a su directorio de instalación.

Como dije, probablemente esta no sea la forma correcta de hacerlo, pero parece funcionar. Si alguien sabe de las consecuencias negativas o los golpes necesarios en la muñeca que deben suceder, ¡intervenga!

Jim Strawn
fuente
Si hace esto, será imposible ejecutar la aplicación como LUser, y no se debe permitir que nada se ejecute con privilegios administrativos a menos que sean necesarios por un motivo conocido y bueno (como la configuración automática de IIS)
EKW
6

Si usas Total Commander como yo, debe hacer lo mismo para que Total Commander se ejecute como administrador siempre. Luego podrá abrir el archivo sql con doble clic en la misma instancia de administración de SQL Server, o abrir cualquier archivo de Visual Studio con doble clic y no tener varias instancias abiertas.

Este programa de solución de problemas agrega valor de registro a HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers para cualquier programa, por lo que si desea escribirlo directamente, puede hacerlo.

drejKamikaza
fuente
1
Básicamente, agrega un nuevo valor de cadena a esa ruta de registro, con el nombre que es la ruta completa al ejecutable (sin comillas) y los datos RUNASADMIN, en caso de que desee hacerlo manualmente.
Ray
6

Encontré una manera simple de hacer esto en EightForums ( Opción 8 ), crear un valor de cadena en HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers. Establezca el nombre de la ruta al programa y el valor a ~ RUNASDMIN. La próxima vez que abra el programa, se abrirá como administrador

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\devenv.exe"="~RUNASADMIN"
Miguel
fuente
5

Simplemente encuentre el programa en el directorio Archivos de programa (o en otra ubicación). Haga clic derecho en el archivo EXE, en la segunda pestaña en la parte inferior marque la casilla de verificación de forzar la ejecución de ese programa con privilegios de administración. A partir de ahora, todos los accesos directos del archivo exe se activarán con privilegios de administración :)

Hombre azul
fuente
1
Esto funciona en todos los sistemas donde la ventana Propiedades tiene una pestaña de Compatibilidad, que Windows 8 no tiene (aunque Windows 8.1 sí).
ThePyroEagle
5

Además, puede consultar la resolución de problemas de compatibilidad

  • Haga clic derecho en Visual Studio> seleccione Solucionar problemas de compatibilidad.
  • Seleccione Solucionar problemas del programa.
  • Verificar El programa requiere permisos adicionales.
  • Haga clic en Probar el programa.
  • Espere un momento hasta que se inicie el programa. Haga clic en Siguiente.
  • Seleccione Sí, guarde esta configuración para este programa.
  • Espera a resolver el problema.
  • Asegúrese de que el estado final sea fijo. Haz clic en Cerrar.

Consulte los pasos detallados y otras formas de abrir siempre VS como administrador en Visual Studio requiere que la aplicación tenga permisos elevados .

MVP de Mohamed El-Qassas
fuente
2

Visual Studio se eleva automáticamente si el manifiesto de la aplicación del proyecto especifica un administrativo requestedExecutionLevel, por lo que solo necesita editarlo. Visual Studio lo detectará y se reiniciará como administrador cuando sea necesario.

beppe9000
fuente