Pouvez-vous forcer Visual Studio à toujours s'exécuter en tant qu'administrateur dans Windows 8?

1013

Dans Windows 7, vous pouvez entrer dans les paramètres de compatibilité des programmes et cocher pour toujours exécuter en tant qu'administrateur. Existe-t-il une option similaire dans Windows 8?

J'ai toujours désactivé l'UAC sur mes machines et j'ai fait de même après ma mise à niveau de Windows 8, du moins c'est ce que je pensais. Il s'avère qu'il n'y a pas d' offoption, seulement désactiver les notifications.

Cela signifie que rien n'est exécuté en tant qu'administrateur bien qu'il soit dans le groupe Administrateur. Je dois continuer à fermer et à rouvrir mes consoles \ Visual Studio lorsque j'essaie de déboguer (attacher au processus, non F5), ce qui est très frustrant.

C'est vraiment ennuyeux de devoir penser à prendre des mesures supplémentaires pour l'ouvrir en tant qu'administrateur ou lui dire de se fermer et de se rouvrir lorsque je vais déboguer pour la première fois.

Brian Surowiec
la source
6
Je pense que c'est une question valable ici, mais je pense que vous devriez aussi demander à SuperUser - il peut y avoir une réponse générale.
Preet Sangha
4
Si VS doit être lancé en tant qu'administrateur, vos autorisations de fichier sont incorrectes. Ils sont faciles à gâcher avec l'UAC désactivé.
KeatsPeeks
19
@Keats Des privilèges administratifs sont requis pour exécuter une application ASP.NET sur IIS (car elle tentera de créer automatiquement le répertoire virtuel, etc.)
codemonkeh
4
@camelBase Je pense que les programmes ne devraient être exécutés en tant qu'administrateur qu'en cas de besoin. Normalement, ils doivent être exécutés sous des privilèges inférieurs. C'est ce que je fais.
VivekDev
1
Vous ne devriez vraiment pas le faire car si vous travaillez avec 2 projets et qu'un seul doit être exécuté en tant qu'administrateur, vous ne devez pas démarrer l'autre instance en tant qu'administrateur.
Phil1970

Réponses:

2013

Sous Windows 8 et 10, vous devez cliquer devenv.exeavec le bouton droit et sélectionner «Résoudre les problèmes de compatibilité».

  1. Sélectionnez "Dépanner le programme"
  2. Cochez "Le programme nécessite des autorisations supplémentaires"
  3. Cliquez sur Suivant"
  4. Cliquez sur "Tester le programme ..."
  5. Attendez le lancement du programme
  6. Cliquez sur Suivant"
  7. Sélectionnez "Oui, enregistrez ces paramètres pour ce programme"
  8. Cliquez sur "Fermer"

Si, lorsque vous ouvrez Visual Studio, il vous demande d'enregistrer les modifications apportées à devenv.sln, consultez cette réponse pour le désactiver:

Désactiver la boîte de dialogue d'enregistrement de la solution devenv de Visual Studio


Si vous changez d'avis et souhaitez annuler le paramètre de compatibilité «Exécuter en tant qu'administrateur», consultez la réponse ici: Comment corriger le format Guid non reconnu dans Visual Studio 2015

Siewers
la source
40
C'est la meilleure solution que j'ai rencontrée. Maintenant, je peux à nouveau ouvrir les fichiers .sln à partir de l'explorateur Windows!
Max Schilling
39
De même, il résout également les solutions épinglées pouvant s'exécuter en tant qu'administrateur. Merci.
Berne
183
Vous pouvez également effectuer cette opération sur le C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exefichier si plusieurs versions de Visual Studio sont installées. En outre, les chemins d'accès par défaut aux fichiers devenv.exe sont: 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
Comment ramenez-vous cela à ce qu'il était?
Robert Koritnik
96
@RobertKoritnik C'est l'équivalent de l'ajout d'une entrée de registre avec un nom C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exeet une valeur RUNASADMINsous HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers. La suppression de l'entrée rétablit le paramètre.
Piotr Szmyd
168

Après avoir regardé Super User, j'ai trouvé cette question qui explique comment le faire avec le raccourci sur l'écran de démarrage. De même, vous pouvez faire de même lorsque Visual Studio est épinglé dans la barre des tâches. Dans les deux endroits:

  1. Cliquez avec le bouton droit sur l'icône Visual Studio
  2. Aller à Properties
  3. Sous la Shortcut tabsélectionAdvanced
  4. Vérifier Run as administrator

définition du fonctionnement par défaut en mode administrateur

Contrairement à Windows 7, cela ne fonctionne que si vous lancez l'application à partir du raccourci que vous avez modifié. Après avoir mis à jour les deux raccourcis Visual Studio, il semble également fonctionner lorsque vous ouvrez un fichier de solution à partir de l'Explorateur.

Mise à jour de l'avertissement: il semble que l'un des principaux défauts de l'exécution de Visual Studio avec des autorisations élevées soit qu'Explorer ne fonctionne pas avec eux, vous ne pouvez pas faire glisser et déposer des fichiers dans Visual Studio pour les modifier. Vous devez les ouvrir via la boîte de dialogue d'ouverture de fichier. Vous ne pouvez pas non plus double-cliquer sur un fichier associé à Visual Studio et l'ouvrir dans Visual Studio (à part les solutions, il semble), car vous obtiendrez un message d'erreur disant There was a problem sending the command to the program.Une fois que je décoche de toujours commencer avec des autorisations élevées (à l'aide de VSCommands), alors je '' m capable d'ouvrir des fichiers directement et de les déposer dans une instance ouverte de Visual Studio.

Mise à jour pour l'audace: bien qu'il n'y ait pas d'interface utilisateur pour désactiver l'UAC comme dans le passé, que j'ai vu au moins, vous pouvez toujours le faire via le registre. La clé à modifier est:

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

Après avoir changé ce Windows, vous serez invité à redémarrer. Une fois redémarré, vous serez de retour à tout ce qui fonctionne avec des autorisations d'administrateur si vous êtes administrateur. Les problèmes que j'ai signalés ci-dessus ont également disparu.

Brian Surowiec
la source
9
Si vous désactivez l'UAC, certaines applications Metro, comme SkyDrive, ne fonctionneront plus.
krisdyson
1
Pour Windows 8, la réponse ci-dessous de TigerShark (clic droit devenv.exe dans l'explorateur, dépannage ..) semble être une solution plus complète.
James White
3
@ClaraOnager Cliquez avec le bouton droit sur l'icône dans l'écran de démarrage et sélectionnez «Ouvrir l'emplacement du fichier». Cela ouvrira le dossier dans lequel le raccourci est enregistré et vous pourrez voir ses propriétés à partir de là.
Brian Surowiec
19
@Boomerangertanger Oh non, pas mes applications de métro! </sarcasm>
Robert Christ
2
Les applications de métro rockent. Fin de.
krisdyson
59

REMARQUE dans les versions VS récentes (2015+), il semble que cette extension n'existe plus / possède cette fonctionnalité.


Vous pouvez également télécharger VSCommands pour VS2012 par Squared Infinity qui a une fonctionnalité pour le changer pour qu'il fonctionne en tant qu'administrateur (ainsi que quelques autres morceaux sympas)

entrez la description de l'image ici

Mise à jour

On peut installer les commandes à partir de la barre de menus de Visual Studio en utilisant Tools-> en Extensions and Updatessélectionnant Onlineet en recherchant vscommandsoù puis on sélectionne VSCommands for Visual Studio 20XXselon que l'on utilise 2012 ou 2013 (ou plus à l'avenir) et télécharger et installer.

Pas aimé
la source
2
J'ai installé cela après avoir mis à jour les autorisations de raccourci, donc je ne suis pas sûr de ce que cela fait différemment. Outre les autorisations d'administration, ce plugin a de belles fonctionnalités qui valent la peine d'être vérifiées par elles-mêmes.
Brian Surowiec
3
La fonction VSCommands fonctionne également lorsque vous démarrez un projet à partir du menu d'accès rapide d'un raccourci de la barre des tâches. Des trucs géniaux!
Sean Kearon
@BrianSurowiec ce qu'il fait, il met quelque chose dans le démarrage de VS afin que s'il ne fonctionne pas avec admin, il se tue et démarre une nouvelle instance avec l'autorisation d'administrateur
Pas aimé le
@DaveInCaz malheureusement vrai. Je pense qu'il a cessé de le faire. J'ai édité la réponse pour le noter.
Pas aimé
36
  1. Dans le menu Démarrer de Windows 8, sélectionnez Toutes les applications
  2. Clic droit sur l'icône Visual Studio 2010
  3. Sélectionnez l'emplacement du fichier ouvert
  4. Cliquez avec le bouton droit sur l'icône de raccourci Visual Studio 2010
  5. Cliquez sur le bouton Avancé
  6. Cochez la case Exécuter en tant qu'administrateur
  7. Cliquez sur OK
Lou
la source
2
Bonne réponse, mais ne fonctionnera que lors du lancement à partir de l'icône, PAS si vous faites un clic droit sur l'icône et lancez des solutions épinglées. J'ai essayé sur Windows 8 et 10 et seule la méthode de dépannage fonctionne jusqu'à présent pour le lancement de solutions épinglées.
djangojazz
23

Ceci est une copie de ma réponse à un article similaire sur SuperUser :

Option 1 - Définissez VSLauncher.exe et DevEnv.exe pour toujours s'exécuter en tant qu'administrateur

Pour que Visual Studio s'exécute toujours en tant qu'administrateur lors de l'ouverture d'un fichier .sln :

  1. Aller vers C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe .
  2. Faites un clic droit sur VSLauncher.exeet choisissez Dépanner la compatibilité .
  3. Choisissez Dépanner le programme .
  4. Cocher Le programme nécessite des autorisations supplémentaires et cliquez sur Suivant.
  5. Cliquez sur le bouton Tester le programme ... pour lancer VS.
  6. Cliquez sur Suivant, puis appuyez sur Oui, enregistrez ces paramètres pour ce programme , puis le bouton de fermeture .

Pour que Visual Studio s'exécute toujours en tant qu'administrateur lorsque vous ouvrez directement Visual Studio , faites la même chose avec le ou les fichiers DevEnv.exe. Ces fichiers se trouvent à:

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

Option 2 - Utiliser l'extension VSCommands pour Visual Studio

Installez l' extension VSCommands gratuite pour Visual Studio (elle se trouve dans la galerie d'extensions Visual Studio ), puis configurez-la pour que Visual Studio démarre toujours avec des privilèges d'administrateur en allant dans Outils -> VSCommands -> Options -> Améliorations IDE -> Général et cochezAlways start Visual Studio with elevated permissions et cliquez sur le bouton Enregistrer.

Remarque: VSCommands n'est pas actuellement disponible pour VS 2015, mais leur site indique qu'ils travaillent sur sa mise à jour pour prendre en charge VS 2015.

Mon avis

Je préfère l'option 2 car:

  • il vous permet également de désactiver facilement cette fonctionnalité.
  • VSCommands est livré avec de nombreuses autres fonctionnalités intéressantes, donc je l'ai toujours installé de toute façon.
  • c'est juste plus facile à faire que l'option 1.
chien mortel
la source
1
Windows 10 - chaque fois que j'ouvre un fichier .sln VS 2015 me demande si je veux enregistrer les modifications apportées à devenv.exe
FrenkyB
1
@FrenkyB Avez-vous effectué les étapes répertoriées pour l'option 1 pour VS 2015? Le configurer pour qu'il s'exécute en tant qu'administrateur devrait résoudre ce problème. stackoverflow.com/a/14423461/602585
deadlydog
1
Ça fonctionne maintenant. Je viens d'enregistrer devenv.exe et il ne se plaint plus.
FrenkyB
15

VSCommands n'a pas fonctionné pour moi et a causé un problème lorsque j'ai installé Visual Studio 2010 à part de Visual Studio 2012.

Après quelques expérimentations, j'ai trouvé l'astuce:

Accédez à HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layerset ajoutez une entrée avec le nom "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe"et la valeur "RUNASADMIN".

Cela devrait résoudre votre problème. J'ai également blogué à ce sujet.

Daniel Lang
la source
Pour une raison quelconque, cela n'a pas fonctionné pour moi, mais l'ajout de l'entrée à la HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersplace a fait l'affaire.
Piotr Szmyd
1
Cette réponse n'est-elle pas fonctionnellement identique aux deux premières?
Maury Markowitz
7

Je sais que c'est un peu tard, mais je viens de comprendre comment faire cela en modifiant (lire, "piratage") le manifeste du fichier devenv.exe. J'aurais dû venir ici en premier parce que les solutions énoncées semblent un peu plus faciles et probablement plus prises en charge par Microsoft. :)

Voici comment je l'ai fait:

  1. Créez un projet dans VS appelé "Exe Manifests". (Je pense que n'importe quelle version fonctionnera, mais j'ai utilisé 2013 Pro. De plus, peu importe le nom que vous lui donnez.)
  2. "Ajouter un élément existant" au projet, accédez à l'exe Visual Studio et cliquez sur OK. Dans mon cas, c'était "C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe".
  3. Double-cliquez sur le fichier "devenv.exe" qui devrait maintenant être répertorié comme fichier dans votre projet. Il devrait afficher l'exe dans un éditeur de ressources.
  4. Développez le nœud "RT_MANIFEST", puis double-cliquez sur "1" en dessous. Cela ouvrira le manifeste de l'exécutable dans l'éditeur binaire.
  5. Recherchez la balise demandExecutionLevel et remplacez "asInvoker" par "requireAdministrator". À la: <requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
  6. Enregistrez le fichier.

Vous venez d'enregistrer la copie de l'exécutable qui a été ajoutée à votre projet. Vous devez maintenant sauvegarder l'original et copier votre exe modifié dans votre répertoire d'installation.

Comme je l'ai dit, ce n'est probablement pas la bonne façon de procéder, mais cela semble fonctionner. Si quelqu'un connaît les retombées négatives ou les gifles nécessaires qui doivent se produire, veuillez sonner!

Jim Strawn
la source
Si vous faites cela, il deviendra alors impossible d'exécuter l'application en tant que LUser, et rien ne devrait être autorisé à s'exécuter avec des privilèges administratifs à moins qu'ils ne soient requis pour une raison connue et correcte (comme la configuration automatique d'IIS)
EKW
6

Si vous utilisez Total Commander comme moi, vous devez faire de même pour que Total Commander soit toujours exécuté en tant qu'administrateur. Ensuite, vous pourrez ouvrir le fichier sql en double-cliquant dans la même instance de gestion SQL Server, ou ouvrir n'importe quel fichier Visual Studio en double-clic et ne pas avoir plusieurs instances ouvertes.

Ce programme de dépannage ajoute une valeur de Registre à HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers pour n'importe quel programme, donc si vous souhaitez l'écrire directement, vous pouvez.

drejKamikaza
la source
1
Il ajoute essentiellement une nouvelle valeur de chaîne à ce chemin de registre, le nom étant le chemin complet de l'exécutable (sans guillemets) et les données RUNASADMIN, au cas où vous voudriez le faire manuellement.
Ray
6

J'ai trouvé un moyen simple de le faire sur EightForums ( Option 8 ), créer une valeur de chaîne sous HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers. Définissez le nom sur le chemin d'accès au programme et la valeur sur ~ RUNASDMIN. La prochaine fois que vous ouvrirez le programme, il s'ouvrira en tant qu'administrateur

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

Trouvez simplement le programme dans le répertoire Program Files (ou dans un autre emplacement). Cliquez avec le bouton droit sur le fichier EXE, dans le deuxième onglet en bas, cochez la case pour forcer l'exécution de ce programme avec des privilèges d'administration. À partir de maintenant, tous les raccourcis du fichier exe seront déclenchés avec des privilèges d'administration :)

Homme bleu
la source
1
Cela fonctionne sur tous les systèmes où la fenêtre Propriétés possède un onglet Compatibilité, contrairement à Windows 8 (bien que Windows 8.1 le fasse).
ThePyroEagle
5

Vous pouvez également vérifier le dépannage de compatibilité

  • Cliquez avec le bouton droit sur Visual Studio> sélectionnez Résoudre les problèmes de compatibilité.
  • Sélectionnez Dépanner le programme.
  • Vérifiez Le programme nécessite des autorisations supplémentaires.
  • Cliquez sur Tester le programme.
  • Attendez un moment jusqu'au lancement du programme. Cliquez sur Suivant.
  • Sélectionnez Oui, enregistrez ces paramètres pour ce programme.
  • Attendez la résolution du problème.
  • Assurez-vous que le statut final est fixe. Cliquez sur Fermer.

Vérifiez les étapes détaillées et les autres façons d'ouvrir toujours VS en tant qu'administrateur dans Visual Studio nécessitent que l'application dispose de droits élevés .

Mohamed El-Qassas MVP
la source
2

Visual Studio s'auto-élève automatiquement si le manifeste d'application du projet spécifie un administrateur requestedExecutionLevel, il vous suffit donc de le modifier. Visual Studio le détectera et se relancera en tant qu'administrateur si nécessaire.

beppe9000
la source