Déboguer un programme qui nécessite des droits d'administrateur sous Windows 7
Je suis en cours d'exécution Visual Studio; 2008 sur Windows 7 64 bits. Je suis connecté en tant qu'administrateur, et je suis en cours d'exécution en tant qu'administrateur, mais le programme que je suis en train de travailler sur échoue avec accès refusé lorsque j'appelle une restriction de l'API. Si vous exécutez le programme à partir de l'Explorateur avec "Exécuter en tant qu'Administrateur", il fonctionne.
J'étais en vertu de la croyance que Visual Studio; 2008 permet de déboguer les programmes avec tous les droits que le Visuel Studio; 2008 lui-même est en cours d'exécution. Comme il se trouve que je ne peux pas debug ma candidature pour cette raison, et je suis à une perte quant à ce qu'il se passe.
source d'informationauteur brian
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne pour Visual Studio 2012.
level
pour la baliserequestedExecutionLevel
àrequireAdministrator
.Maintenant, votre programme aura toujours besoin des privilèges d'administrateur, partout où elle est exécutée. Si lancé par le débogueur de Visual Studio, il vous demandera de redémarrer Visual Studio en tant qu'administrateur, si nécessaire.
Il est préférable d'exécuter Visual Studio; 2008 en tant qu'administrateur. En outre, il est bon de changer votre application paramètres du manifeste pour exiger des privilèges d'administrateur. Vous serez invité par le système d'élever administrateur système à chaque démarrage de votre application, et lors de l'exécution sous Visual Studio; 2008, les IDE ne vous offrons de l'altitude avant de démarrer le débogage.
Pour modifier le paramètre, ouvrez les propriétés du projet et aller à Propriétés de Configuration → de l'éditeur de liens → fichier Manifeste → contrôle de compte d'utilisateur de Niveau d'Exécution.
J'ai trouvé la réponse. Il s'avère que c'est, en fait, un manifeste problème: par défaut, si vous avez un manifeste, vous devez définir les privilèges d'administrateur.
La valeur par défaut est
asInvoker
mais cela ne fonctionne pas si vous avez besoin des privilèges élevés; au lieu de cela vous avez pour le mettre àrequireAdministrator
dans le manifeste des propriétés.Exécutez Visual Studio; 2008 en tant qu'administrateur.
J'ai eu un cas où j'ai mis dans le
paramètres (décrite par une autre réponse à ce post)........et n'a pas de travail.
J'ai trouvé une autre astuce (voir ci-dessous)...et en décochant cette option a permis à mon code.
(à partir de https://social.msdn.microsoft.com/Forums/vstudio/en-US/b5c4da93-5d64-442e-af28-df6d10765538/debug-as-administrator?forum=vbgeneral)
J'ai donc besoin de l'application.paramètres du manifeste ET de la "décochez".
Mon test avec Windows Vista et Visuelle Studio; 2005 a montré que lors de l'utilisation d'un processus hôte, le comportement sous le débogueur ne dépend que de la manière dont vous avez lancé Visual Studio et pas sur le manifeste (ou de l'absence de manifeste) de votre application. Lorsque Visual Studio est lancé élevée, le comportement ne dépend que de l'utilisation (ou non) d'un processus hôte, pas sur le manifeste. C'est probablement toujours le cas avec Windows 7 et Visuelle Studio; 2008.
Aussi, avez-vous essayé de lancer l'application en dehors de Visual Studio et à l'aide de Attacher au Processus?