2009-08-13 9 views
1

J'ai installé mon application dans Windows 7 et dans le cadre de l'installation, il installe des fichiers texte. Maintenant, si j'ouvre le fichier texte dans le bloc-notes et que j'essaie de le sauvegarder, j'obtiens une erreur "Accès refusé". Je suis connecté en tant qu'administrateur sur la machine et le fichier n'est pas marqué en lecture seule et les autorisations de sécurité semblent correctes.Windows 7 autorisation d'accès au fichier question

Cependant, je pourrais supprimer ou renommer le fichier sans aucun problème et je pourrais créer un nouveau fichier avec le même nom/emplacement en utilisant le bloc-notes et la sauvegarde fonctionne très bien. Je comprends que cela a quelque chose à voir avec le contrôle de compte d'autrui. Je me demande ce que fait l'UAC pour bloquer l'accès au fichier. Notre application n'est pas installée dans le dossier des fichiers programme car je crois que l'UAC restreint les modifications apportées aux fichiers du dossier Program Files

Quelqu'un peut-il nous éclairer sur ce qui se passe?

concernant G

Répondre

4

Avec, UAC juste parce que vous êtes connecté en tant qu'utilisateur avec des privilèges d'administrateur ne signifie pas un programme fonctionne en fait avec eux. Le programme doit soit demander une élévation de privilèges (qui donne le menu contextuel "Voulez-vous autoriser ce programme à U_______UAC"), soit être explicitement exécuté en tant qu'administrateur (cliquez avec le bouton droit sur le programme/raccourci et choisissez Exécuter en tant qu'administrateur). Par défaut, la plupart des zones du lecteur en dehors des "fichiers utilisateur" standard (aka Mes documents & co.) Sont limitées à un accès administrateur uniquement, mais les autorisations de dossier peuvent être modifiées pour ajouter un accès pour un utilisateur particulier si voulu.

+0

Comme je l'ai indiqué dans ma question initiale, je suis capable de supprimer/renommer le fichier qui a donné accès erreur refusée lors de l'enregistrement via le bloc-notes. En outre, je suis capable de créer de nouveaux fichiers dans le même emplacement où j'obtiens l'accès refusé l'erreur. Je devine quand notre application est installée avec Installshield, Windows 7 traite tous les fichiers qui ont été déployés une partie de l'installation et empêche ainsi l'accès. Se demander vraiment comment UAC empêche l'accès à seulement certains fichiers et comment il garde la trace si les fichiers ont été déployés par programme d'installation – Ganesh

+0

Il peut y avoir différents niveaux d'accès en jeu en ce qui concerne les processus Windows Explorer (où vous feriez le renommer/déplacement) par opposition aux applications non-système (tel que le Bloc-notes). – Amber

+0

Cette réponse suggère une tactique qui peut être utile: utilisez 'Exécuter en tant qu'administrateur' pour ouvrir le bloc-notes, puis éditez et enregistrez le fichier. – grossvogel

1

Vous constaterez que l'enregistrement des fichiers presque partout, sauf la « mes documents » zone pour l'utilisateur sera limité, ce qui inclut l'enregistrement d'autres lecteurs du système, etc.

Si vous vérifiez les autorisations pour le répertoire essayez d'écrire, tout ce que vous avez à faire est de donner expressément la permission à l'utilisateur. Sinon, seuls les administrateurs ont l'autorisation, ce qui nécessite l'approbation de l'UAC de l'utilisateur pour obtenir le jeton d'administration.

0

Vous obtenez normalement l'erreur "Accès refusé" lorsque le fichier est en cours d'utilisation. UAC ne pouvait pas être un problème ici. Vérifiez si le fichier est utilisé par un autre processus.

Pour ce faire, vous pouvez utiliser des outils tels que Process Explorer de sysinternals.

+0

Le fichier n'est pas utilisé avec certitude, car je suis capable de le renommer/le supprimer. Juste en enregistrant depuis le bloc-notes ou n'importe quel éditeur me donne cette erreur. – Ganesh

-1

Vous devez cliquer avec le bouton droit sur le fichier et sélectionner les propriétés. PUIS ouvrez l'onglet de sécurité et vous pouvez voir différents comptes avec des privilèges differet. Cliquez sur UTILISATEURS et il devrait mettre en évidence. La case en dessous devrait contenir un tas de coches qui indiquent ce que cet utilisateur peut faire. Cliquez sur Contrôle total. Appliquer et d'accord. Alors vous pouvez économiser !!!

+0

Cela ne fonctionnera pas - UAC bloquera la demande même si vous êtes un administrateur. – Nux