101 votes

VS2017 / VS 2019 Exécuter en tant qu'administrateur à partir de la liste des solutions récentes

Je voudrais 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 Par exemple, lors de l'ouverture d'un projet via l'Explorateur ou les raccourcis Shell.

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

Malheureusement, cela n'a pas pour effet de faire fonctionner devenv en tant qu'administrateur.

Avez-vous des idées sur la façon de résoudre ce problème ?

276voto

Steve Kennedy Points 3462
  1. Fermez toutes les instances de Visual Studio
  2. Cliquez avec le bouton droit de la souris sur l'icône Visual Studio 2017/2019 dans votre barre des tâches.
  3. Cliquez avec le bouton droit de la souris sur Visual Studio 2017/2019 et cliquez sur Propriétés.
  4. Cliquez sur le bouton Ouvrir l'emplacement du fichier
  5. Un clic droit sur le fichier devenv.exe dans ce dossier apparaît
  6. Sélectionnez Troubleshoot compatibility
  7. Sélectionnez le programme Troubleshoot
  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, sauvegarder ces paramètres pour ce programme
  12. Cliquez sur Fermer
  13. Rouvrir votre projet à partir de la liste des projets récents

5 votes

C'est aussi la même solution pour toutes les versions antérieures de visual studio depuis que le sélecteur de version vs a été introduit. toute personne qui vote à la baisse en fait une affaire personnelle, 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 :)

7 votes

On pourrait penser que MS aurait un paramètre de remplacement - "toujours exécuter en tant qu'administrateur" - puisque tout développement non trivial l'exige.

2 votes

@pm100 D'une manière ou d'une autre, il existe un module complémentaire VS VSCommands qui possède ce paramètre. Mais je suis d'accord sur le fait que la nature du développement web et le support IIS dans VS devraient fournir ce paramètre intégré. Si IIS est utilisé pour des solutions, vous avez besoin de droits d'administrateur. VS devrait peut-être détecter cela automatiquement et relancer la demande pour eux.

18voto

Gabriel Luci Points 6259

L'effet des étapes de la réponse de Steve est l'ajout d'une seule valeur de registre. 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 prenait un peu de temps pour prendre effet, mais une déconnexion/login devrait le faire prendre effet immédiatement.

Pour une raison étrange, j'ai découvert que, dans mon cas, Windows ne vérifiait pas HKLM. Il ne vérifiait que HKCU. J'ai donc défini les deux. Mais pour les autres utilisateurs qui se connectent, HKLM devrait être utile.

Il est également prévu de définir la même valeur pour VSLauncher.exe, ce qui résout d'autres problèmes.

Cela concerne à la fois VS2017 et 2019. Si vous n'avez installé qu'un seul d'entre eux, supprimez les lignes pour l'autre.

De plus, si vous avez changé le dossier dans lequel VS est installé, changez le chemin d'accès à devenv.exe ou utilisez simplement la réponse de Steve pour faire l'inverse.

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"

1 votes

Bien que cela puisse être utile, cela ne va pas fonctionner (copier et coller) pour les personnes qui ont cette application installée ailleurs, une future version de VS - ou d'autres applications que les gens veulent exécuter de la même manière.

1 votes

Eh bien, quand j'ai écrit ceci, le titre de la question disait spécifiquement seulement VS2017 :) Depuis que cela a été changé, j'ai ajouté les lignes pour prendre soin de 2019 et une note à ce sujet.

1 votes

La modification du registre n'est pas à la portée de tous. Vous devez être très prudent ou vous finirez par planter tout votre système d'exploitation. Par conséquent, je voterais en faveur de la réponse de Steve et la recommanderais comme la solution la plus sûre que vous puissiez avoir ! Encore une fois, c'est mon opinion !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X