L'accès à un fichier peut être différent pour la lecture et l'écriture. En tant que non-administrateur, il est normal de pouvoir lire des fichiers dans Program Files, mais pas de les écrire.
Si le fichier est un paramètre pour l'utilisateur actuel, vous devez le placer dans un dossier sous le dossier AppData. Vous pouvez trouver l'emplacement du dossier AppData en appelant Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData))
Si le fichier est un paramètre pour tous les utilisateurs de l'ordinateur, utilisez Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData))
Voir http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx pour une liste d'autres emplacements possibles de dossiers spéciaux.
Cela ne règle pas vraiment le problème, n'est-ce pas? –
J'ai utilisé la même classe en mode non-admin cela fonctionne –