VS2017 / VS 2019 Ejecutar como administrador desde la barra de tareas

98

Me gustaría ejecutar Visual Studio 2017/2019 como administrador cuando selecciono un proyecto de la lista reciente en la barra de tareas , es decir. al abrir un proyecto a través de los accesos directos de Explorer / Shell.

Usé la configuración: propiedades -> acceso directo -> avanzado -> ejecutar como casilla de verificación de administrador.

Desafortunadamente, esto no hace que devenv se ejecute como administrador.

¿Alguna idea sobre cómo solucionar este problema?

Paul0515
fuente

Respuestas:

262
  1. Cerrar todas las instancias de Visual Studio
  2. Haga clic derecho en el icono de Visual Studio 2017/2019 en su barra de tareas
  3. Haga clic derecho en Visual Studio 2017/2019 y haga clic en Propiedades
  4. Haga clic en el botón Abrir ubicación de archivo
  5. Haga clic derecho en el archivo devenv.exe en esa carpeta aparece
  6. Seleccione Solucionar problemas de compatibilidad
  7. Seleccione el programa de resolución de problemas
  8. Seleccione El programa requiere permisos adicionales
  9. Haga clic en Probar el programa y espere a que se inicie.
  10. Luego haga clic en el botón Siguiente
  11. Seleccione Sí, guardar esta configuración para este programa
  12. Haga clic en Cerrar
  13. Vuelva a abrir su proyecto de la lista reciente
Steve Kennedy
fuente
4
Esta es también la misma solución para todas las versiones anteriores de Visual Studio desde que se introdujo el selector de versión vs. cualquiera que vote negativamente lo está convirtiendo en algo personal o se niega a aceptar el status quo. gracias por la confirmación de que este método todavía funciona, solo necesitaba comprobarlo antes de intentarlo :)
Shaun Wilson
6
Usted pensaría que MS tendría una configuración vs: 'siempre ejecutar como administrador', ya que cualquier desarrollo no trivial lo requiere
pm100
1
@ pm100 Bueno, de alguna manera hay VSCommands VS Addin que tienen esta configuración. Pero estoy de acuerdo en que la naturaleza del desarrollo web y el soporte de IIS dentro de VS deberían proporcionar esto integrado. Si se usa IIS para soluciones, necesita derechos de administrador. VS tal vez debería detectar eso automáticamente y reiniciar solicitándolos.
Robert Koritnik
Solo para su información: esto hace que VS solicite ejecutarse como administrador cada vez que se inicia.
Jeff B
1
Me tropiezo con esto cada vez que necesito instalar una nueva versión de VS ... Ahora en 2019, la misma solución sigue funcionando
moi_meme
16

El efecto de los pasos en la respuesta de Steve es la adición de un valor de registro único. Puede evitar todos esos pasos simplemente agregando ese valor de registro a través de la línea de comando. Por alguna razón, descubrí que tarda un poco en surtir efecto, pero un cierre de sesión / inicio de sesión debería hacer que surta efecto inmediatamente.

Por alguna extraña razón, descubrí que, en mi caso, Windows no verificaba HKLM. Solo estaba mirando a HKCU. Así que configuré ambos. Pero para otros usuarios que inician sesión, HKLM debería ser útil.

También se incluye el establecimiento del mismo valor para VSLauncher.exe, que resuelve otros problemas.

Esto se encarga de VS2017 y 2019. Si solo tiene uno de ellos instalado, elimine las líneas del otro.

Además, si cambió la carpeta en la que se instala VS, cambie la ruta a devenv.exe, o simplemente use la respuesta de Steve para hacerlo de la otra manera.

En un símbolo del sistema de administrador:

reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" /d "^ RUNASADMIN"

reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" /d "^ RUNASADMIN"

O, si prefiere un archivo .reg:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\MSEnv\\VSLauncher.exe"="^ RUNASADMIN"

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\MSEnv\\VSLauncher.exe"="^ RUNASADMIN"
Gabriel Luci
fuente
Si bien esto puede ser útil, no funcionará (copiar y pegar) para las personas que tengan esta aplicación instalada en otro lugar, una versión futura de VS u otras aplicaciones que la gente quiera ejecutar de la misma manera.
Anthony Nichols
1
Bueno, cuando escribí esto, el título de la pregunta decía específicamente solo VS2017 :) Desde que se cambió, agregué las líneas para ocuparme de 2019 y una nota al respecto.
Gabriel Luci
1
La edición del Registro no es para todas las personas. Tienes que tener mucho cuidado o terminarás bloqueando todo tu sistema operativo. Por lo tanto, votaría a favor y recomendaría la respuesta de Steve como la solución más segura que podría tener. De nuevo, ¡esa es mi opinión!
Vincy
@Vincy Seguro, pero lo más probable es que, si está utilizando Visual Studio, sepa una cosa o dos sobre Windows y no tiene miedo de modificar el registro directamente. No es difícil averiguar para qué sirven determinadas claves de registro.
Gabriel Luci