2009-09-18 9 views
1

Dans mes applications Visual Studio asp.net mvc j'ai 4 configurations de construction; l'un est d'utiliser IIS comme serveur web, ce qui nécessite "run as administrator" lors de l'exécution de Visual Studio. J'ai donc couru en tant qu'administrateur et créé de nouveaux fichiers. J'ai un modèle multi-projet que j'utilise pour toutes mes applications web. J'ai donc copié les nouveaux fichiers du projet que j'utilisais dans mon projet de template car ils seraient utiles pour tous mes projets, mais ne pensaient pas à la chose "run as administrator". Alors maintenant, quand je crée un nouveau projet à partir de mon modèle et que j'essaie d'exécuter le serveur web de développement asp.net, rien ne se passe, mais quand un serveur est utilisé en tant qu'administrateur, le serveur web charge tout sans problème. Donc, ma question est de savoir comment puis-je supprimer les exigences «exécuter en tant qu'administrateur» de tous les fichiers et dossiers, et je ne sais vraiment pas quels fichiers ont été ajoutés, ils étaient nombreux? Je dois supprimer l'exigence d'administrateur parce que beaucoup de personnes maintiennent le code à côté de moi après sa production. Ai-je besoin de recréer tout le modèle de projet?Visual Studio 2008 Asp.net MVC et exécution en tant qu'administrateur

J'utilise VS 2008 sp1, Windows 7 RC

Répondre

1

Le Exécuter en tant que condition de l'administrateur pour VS repose sur elle devant avoir accès au IIS, si je me souviens bien, pas les fichiers eux-mêmes.

Les personnes sur d'autres machines qui n'ont pas ce niveau de protection UAC, disons Windows XP, ne devraient pas avoir ce problème.

0

Le problème est très probable que certains fichiers appartiennent à un utilisateur administratif et ne puissent pas être remplacés par des utilisateurs non administratifs. Les fichiers ACLs sur les fichiers doivent probablement être mis à jour. Pour ce faire, cliquez avec le bouton droit sur Propriétés dans chaque fichier, accédez à l'onglet Sécurité et ajoutez les utilisateurs/groupes appropriés avec les autorisations appropriées à chaque fichier (essayez probablement de faire correspondre les fichiers existants et les autorisations correctes). .

Il existe un outil de ligne de commande appelé CACLS (plus d'informations here et here) qui peut le faire beaucoup plus rapidement, mais il est non trivial et vous ne voulez pas le bousiller. Vous devez exécuter CACLS en tant que propriétaire du répertoire ou de l'administrateur pour accorder des autorisations aux non-administrateurs.

Voici un exemple qui donne à l'utilisateur « Michael » contrôle complet du répertoire de données SQL Server et tous les sous-répertoires et fichiers:

CACLS C:\SQLData\MSSQL$INSTANCE1 /T /E /G Michael:F 

S'il vous plaît noter que je n'ai aucune expérience avec Windows 7. ACLs ont été autour depuis la première version de Windows NT et je suppose que rien n'a radicalement changé dans Windows 7.