Exécuter IIS Express avec les privilèges admin
cette question a déjà été posée mais a été classée comme "pas une vraie question"
https://stackoverflow.com/questions/7450813/how-to-run-a-site-with-administrative-privileges-in-iis-express-7-5
cependant je pense que c'est une vraie question car j'ai aussi besoin de le faire, il y a des documents MS expliquant comment" exécuter IIS Express sans privilèges administratifs " mais comme c'est la façon dont il fonctionne par défaut la nécessité de cet article me déconcerte. Cependant, je n'ai aucune idée de la façon de l'exécuter avec les privilèges D'administrateur.
lorsque j'essaie de démarrer mon site web VS2012, je reçois le message d'erreur suivant de IIS express: "Ne peut pas démarrer le site Web parce que des privilèges administratifs sont nécessaires pour se lier au nom d'hôte ou au port", et des liens sont fournis aux documents MS sur l'exécution sans privilèges admin.
ce que j'essaie finalement de faire est de lancer mon dev sites locally as http ://vs2012:nnnnn, c'est pour que je puisse attacher le débogueur fiddler (en raison du contournement des mandataires dans IE quand localhost est utilisé)
Ce qui marche bien, ce matin j'ai fait une réinstallation de windows et ont frappé un mur de briques!
est-ce que quelqu'un sait comment donner les privilèges admin IIS express comme indiqué dans le message d'erreur?
11 réponses
j'ai trouvé.
j'ai changé Visual Studio à running with Administrative Privileges et j'ai aussi trouvé le .exe pour IIS Express et de définir qui doit toujours s'exécuter avec des privilèges administratifs. Je ne suis pas sûr à 100% que la seconde était nécessaire, mais je les ai quand même fait tous les deux.
j'espère que cela aide quelqu'un d'autre qui avait le même problème.
MODIFIER
(19/08/2013)
cela ne semblait fonctionner qu'avec Windows 7, Sur Windows 8 j'ai fini par abandonner et maintenant utiliser le Full blow IIS pour tout mon travail de dev.
MODIFIER
(07/06/2018)
@Tarostar (commentaire ci-dessous), a obtenu ce travail sur Windows 10 VS2017 et un certain nombre d'autres ont obtenu de travailler sur Windows 8 avant que l'utilisation de la même méthode. Donc possible que je faisais quelque chose de mal sur ma boite Windows 8.
pour Visual Studio 2015 et 2012 Cette solution fonctionnera.
- allez à Solution Explorer Dans Visual Studio, faites un clic droit sur le projet web et sélectionnez "Unload Project"
- ensuite sur le même projet, clic droit et sélectionnez "Modifier le fichier du projet‘
- trouver le
<DevelopmentServerPort>0</DevelopmentServerPort><IISUrl>http://localhost:56058/</IISUrl>
des balises xml et et de les supprimer. - recharger le projet et l'exécuter.
Images à suivre:
bien qu'il s'agisse d'un bot tardif, et non d'une réponse à la question posée "comment exécuter avec des privilèges administratifs", cela pourrait être une solution au problème/à l'erreur déclaré:
ne peut pas démarrer le site Web parce que des privilèges administratifs sont nécessaires pour se lier au nom d'hôte ou au port
comme indiqué dans en utilisant la ligne de commande , le numéro de port utilisé peut exiger privilèges administratifs:
vous devez avoir les droits D'utilisateur administrateur si vous voulez exécuter IIS Express sur les ports numérotés 1024 ou moins.
donc si vous pouviez exécuter sur un numéro de port supérieur à 1024, vous pourriez ne pas avoir besoin de privilèges administratifs du tout.
je sais qu'il est peut-être trop tard, mais aucune autre solution n'a fonctionné pour moi. C'est donc ce que j'ai fait. J'utilise L'API Web 2 et L'IIS Express ne s'est pas activé de temps en temps et après avoir chargé le projet dans une nouvelle solution, ça marcherait. Cependant, j'ai trouvé une meilleure solution. Dans le fichier csproj supprimer ces deux noeuds sous WebProjectProperties et vous serez tous ensemble.
- Developmentserververvpath
- IISUrl
ça a marché pour moi!
dans VS vous pouvez faire un clic droit sur le projet, sélectionner décharger le projet , puis faire un clic droit à nouveau et sélectionner éditer le nom du projet.csproj.
supprimer les étiquettes DevelopmentServerPort et IISUrl .
après cela, vous pouvez faire un clic droit sur le projet et sélectionner Reload Project pour recommencer à travailler. Supprimer les étiquettes DevelopmentServerPort et IISUrl font que VS génère à nouveau un numéro de port et le projet fonctionne bien après cela.
une autre chose que j'ai faite était d'ouvrir Mes Documents\IISExpress\Config\applicationHost.config fichier et supprimer les anciens sites, mais je ne suis pas sûr qu'il était nécessaire""
1) trouver fichier CSPROJ. qui est dans votre dossier de projet 2)le fichier CSPROJ est ouvert dans le bloc-notes(faire glisser vers le bloc-notes) 3)rechercher deux lignes (en appuyant sur Ctrl+F et taper frist words eg:)
<DevelopmentServerPort>0</DevelopmentServerPort>
<IISUrl>http://localhost:57680/</IISUrl>
4) Supprimer deux lignes. 5) sauvegardez le fichier CSPROJ .
un petit ajout à la méthode suggérée par Morvael-même si vous obtenez l'erreur après avoir assigné des privilèges d'administration à Visual Studio et IISExpress, essayez de redémarrer le système après cela. A travaillé pour moi.
vous pouvez modifier le fichier à:
%userprofile%\Documents\IISExpress\config\applicationhost.config
aller à cette partie du fichier:
<system.applicationHost>
<applicationPools>
<applicationPoolDefaults managedRuntimeLoader="v4.0" >
et ajouter une balise pour votre pool d'applications en spécifiant le nom d'utilisateur et le mot de passe sous lequel il doit être exécuté:
<processModel userName="Uname" password="Pword" />
dans mon cas, le site fonctionnait sans privilèges admin et à un moment s'arrêtait et ne fonctionnait qu'avec admin.
numéro de Port était supérieur à 1024 ce qui ne nécessite pas de privilèges admin, mais Visual Studio 2015 a refusé d'exécuter un site sans les permissions admin.
j'ai compris que c'était parce qu'il a été ajouté dans
netsh http show urlacl
qui m'a montré
Reserved URL : http://*:15888/
User: \Everyone
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;WD)
donc pour mon cas, J'ai retiré de cette liste et il a de nouveau fonctionné. Voici la commande pour supprimer:
netsh http delete urlacl http://*:15888/
sonnant à partir de 2018...J'avais ce problème sur VS 2017 et j'ai eu le même message d'erreur. Pour le corriger, j'ai changé l'Url de mon projet dans la configuration du projet de http://localhost:10243 à http://localhost:10244 . Une fois que j'ai confirmé que je voulais créer le répertoire virtuel, j'ai pu lancer mon projet dans le navigateur. Je n'exécute pas VS en mode administrateur. Espérons que cette aide!
j'ai fini par résoudre ce problème en cliquant avec le bouton droit de la souris sur Visual Studio et en cliquant sur "Exécuter en tant qu'administrateur".