2010-09-15 34 views
0

Je suis en train de lire un fichier de configuration dans ProgramFiles/MyApp mais dans Windows 7, il renvoie une exception pour accès refusé, il est le même et un fichier dans ProgrammData/MyApp:Pourquoi l'accès est-il refusé lorsque j'essaie de lire un fichier à partir de ProgramFiles/MyApp?

fileStream = new FileStream (ce .StorageName, FileMode.Open, FileAccess.Read);

N'est-il pas autorisé à lire uniquement à partir de ces dossiers?

+0

Besoin de plus d'informations: Comment avez-vous créé le répertoire et y avez-vous placé votre fichier? Les propriétaires et les permissions du répertoire et du fichier sont-ils correctement définis? Votre contenu se trouve-t-il dans le répertoire Program Files approprié (par exemple, Program Files (x86) pour les programmes 32 bits sur un système d'exploitation 64 bits)? –

+0

Les deux répertoires sont créés lors du processus d'installation. Le programme est x86 donc il est installé à C: \ Program Files (x86) \ MyProgram, le Windows 7 est x64. J'ai trouvé qu'il lit sans problème lorsque la demande est signée, ou après la question UAC quand il n'est pas signé. – Angelo

Répondre

0

un coup d'oeil à ceci: http://social.msdn.microsoft.com/forums/en-us/windowsgeneraldevelopmentissues/thread/53660459-EC32-4819-9213-5190F5A1B885

il semble être un problème UAC, et vous devez déplacer vos informations selon nmahajan.

Celui-ci est encore mieux: http://social.msdn.microsoft.com/Forums/en/windowsgeneraldevelopmentissues/thread/dd28741a-1025-4ca2-a88b-95a5ea156e7f

Citant GTVic:

1 - C: \ Users \ nom d'utilisateur \ Documents
2 - C: \ Users \ nom d'utilisateur \ AppData \ Local
3 - C: \ Users \ nom d'utilisateur \ AppData \ Roaming
4 - C: \ Users \ public \ Documents
5 - C: \ ProgramData
utilisation pour:
1 - données privées à un utilisateur lorsque vous êtes connecté sur un ordinateur spécifique
les fichiers de base de données peuvent être facilement trouvés par l'utilisateur en naviguant sur leurs documents dossier

2 - privé à un utilisateur de données lorsque vous êtes connecté sur un ordinateur spécifique
les fichiers de base de données sont dans un dossier caché, mais peut être accessible par un utilisateur qualifié

3 - données privées à un utilisateur lors d'une connexion sur un ordinateur en réseau
les fichiers de base de données sont dans un dossier caché, mais peut être accessible par un utilisateur expérimenté

4 - données publiques à tout utilisateur connecté sur un ordinateur spécifique
les fichiers de base de données peuvent être facilement trouvés par l'utilisateur en naviguant sur le dossier Documents publics

5 - données publiques à tout utilisateur connecté sur un ordinateur spécifique
les fichiers de la base de données sont dans un dossier caché, mais peuvent être accessibles par un utilisateur expérimenté

+1

Il n'y a aucune raison pour que les informations de configuration spécifiques au programme en lecture seule ne puissent pas se trouver dans le répertoire Program Files avec le programme lui-même. –