VS2017 / VS 2019 Exécuter en tant qu'administrateur à partir de la barre des tâches

98

Je souhaite exécuter Visual Studio 2017/2019 en tant qu'administrateur lorsque je sélectionne un projet dans la liste récente de la barre des tâches , c'est-à-dire. lors de l'ouverture d'un projet via les raccourcis Explorer / Shell.

J'ai utilisé le paramètre: propriétés -> raccourci -> avancé -> case à cocher exécuter en tant qu'administrateur.

Malheureusement, cela n'entraîne pas l'exécution de devenv en tant qu'administrateur.

Des idées pour résoudre le problème?

Paul0515
la source

Réponses:

262
  1. Fermer toutes les instances de Visual Studio
  2. Faites un clic droit sur l'icône Visual Studio 2017/2019 dans votre barre des tâches
  3. Cliquez avec le bouton droit sur Visual Studio 2017/2019 et cliquez sur Propriétés
  4. Cliquez sur le bouton Ouvrir l'emplacement du fichier
  5. Cliquez avec le bouton droit sur le fichier devenv.exe dans ce dossier.
  6. Sélectionnez Résoudre les problèmes de compatibilité
  7. Sélectionnez Dépanner le programme
  8. Sélectionnez Le programme nécessite des autorisations supplémentaires
  9. Cliquez sur Tester le programme et attendez que le programme se lance
  10. Cliquez ensuite sur le bouton Suivant
  11. Sélectionnez Oui, enregistrez ces paramètres pour ce programme
  12. Cliquez sur Fermer
  13. Rouvrir votre projet à partir de la liste récente
Steve Kennedy
la source
4
c'est également la même solution pour toutes les versions précédentes de visual studio depuis l'introduction du sélecteur de version vs. quiconque contrevient le rend personnel ou refuse d'accepter le statu quo. merci pour la confirmation que cette méthode fonctionne toujours, j'avais juste besoin de vérifier avant d'essayer :)
Shaun Wilson
6
Vous penseriez que MS aurait un paramètre vs - `` toujours exécuter en tant qu'administrateur '' - car tout développement non trivial l'exige
pm100
1
@ pm100 Eh bien, il y a des VSCommands VS Addin qui ont ce paramètre. Mais je suis d'accord que la nature du développement Web et la prise en charge d'IIS dans VS devraient fournir cela intégré. Si IIS est utilisé pour des solutions, vous avez besoin de droits d'administrateur. VS devrait peut-être le détecter automatiquement et relancer la demande.
Robert Koritnik le
Juste pour info: cela amène VS à demander à s'exécuter en tant qu'administrateur à chaque fois qu'il est lancé.
Jeff B
1
Je tombe juste dessus chaque fois que j'ai besoin d'installer une nouvelle version de VS ... Maintenant en 2019, la même solution fonctionne toujours
moi_meme
16

L'effet des étapes de la réponse de Steve est l'ajout d'une valeur de registre unique. Vous pouvez éviter toutes ces étapes en ajoutant simplement cette valeur de registre via la ligne de commande. Pour une raison quelconque, j'ai trouvé que cela prend un peu de temps pour prendre effet, mais une déconnexion / connexion devrait le faire prendre effet immédiatement.

Pour une raison étrange, j'ai trouvé que, dans mon cas, Windows ne vérifiait pas HKLM. Il ne regardait que HKCU. Alors j'ai mis les deux. Mais pour les autres utilisateurs qui se connectent, HKLM devrait être utile.

La définition de la même valeur pour VSLauncher.exe est également incluse, ce qui résout d'autres problèmes.

Cela prend en charge à la fois VS2017 et 2019. Si vous n'avez installé que l'un d'entre eux, supprimez les lignes pour l'autre.

De plus, si vous avez changé le dossier dans lequel VS est installé, modifiez le chemin devenv.exeou utilisez simplement la réponse de Steve pour le faire dans l'autre sens.

Dans une invite de commande administrateur:

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"

Ou, si vous préférez un fichier .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
la source
Bien que cela puisse être utile, cela ne fonctionnera pas (copier-coller) pour les personnes qui ont installé cette application ailleurs, la future version de VS - ou d'autres applications que les gens souhaitent exécuter de la même manière.
Anthony Nichols
1
Eh bien, quand j'ai écrit cela, le titre de la question ne disait spécifiquement que VS2017 :) Depuis que cela a été changé, j'ai ajouté les lignes pour s'occuper de 2019 et une note à ce sujet.
Gabriel Luci
1
La modification du registre n'est pas pour tout le monde. Vous devez être très prudent ou vous finissez par planter tout votre système d'exploitation. Par conséquent, je voterais et recommanderais la réponse de Steve comme la solution la plus sûre que vous puissiez avoir! Encore une fois, c'est mon avis!
Vincy
@Vincy Bien sûr, mais il y a de fortes chances que si vous utilisez Visual Studio, vous connaissez une chose ou deux sur Windows et que vous n'avez pas peur de modifier directement le registre. Il n'est pas difficile de rechercher à quoi servent certaines clés de registre.
Gabriel Luci