Problème fichier de configuration après installation

cs_Djedje252 Messages postés 2 Date d'inscription mercredi 17 février 2010 Statut Membre Dernière intervention 21 février 2010 - 18 févr. 2010 à 12:57
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 21 févr. 2010 à 21:57
Bonjour,

j'ai développer une application en c# sur visual studio 2008 permettant de gérer une vidéothèque.

Quand je lance l'application depuis visual studio tout fonctionne correctement.
J'ai créer un Setup afin de pouvoir mettre mon applicatio, sur d'autre pc. Je lance mon application et j'ai une erreur que voici :

[b]Une exception non gérée s'est produite dans votre application. Si vous cliquer sur Continuer l'application va ignorer cette erreur et essayer de continuer. Si vous cliquez sur Quitter, l'application va s'arrêter immédiatement.

Une erreur s'est produite lors du chargement d'un fichier de configuration : L'accès au chemin d'accès 'blablabla' est refusé/b

Cette erreur apparait quand je clique sur le bouton Valider d'une winforms. Cette dernière permet d'aller choisir 2 dossiers. Le chemin du dossier est monté dans un fichier de configuration lors du clique sur Valider. voici le code du bouton valider :

private void b_valider_Click(object sender, EventArgs e)
        {
            path_film = t_parcourir1.Text;
            path_affiche = t_parcourir2.Text;

            System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

            config.AppSettings.Settings.Remove("rep_film");
            config.AppSettings.Settings.Remove("rep_affiche");
            config.AppSettings.Settings.Add("rep_film", path_film);
            config.AppSettings.Settings.Add("rep_affiche", path_affiche);
            config.Save(ConfigurationSaveMode.Modified);
            ConfigurationManager.RefreshSection("appSettings");
            Close();
        }


J'explique mon code :
Je récupère les 2 chemins des 2 dossiers sélectionné.
ensuite je supprime les infos du fichier de configurations, puis je les remet avec les nouveau chemin des dossiers.

Ce que je comprend pas c'est que sur visual studio sa marche nickel mais quand j'installe l'application sur mon pc sa plante ici. je suppose que c'est en rapport avec le fichier de configuration.

Merci de m'éclaircir sur ce problème =)

3 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
20 févr. 2010 à 18:53
Bonjour,

Si cette erreur se produit à l'appel de la méthode Save, il y a de grandes chances que le fichier de configuration soit en lecture seule.
C'est fort probable dans le cas de l'installation, l'utilisateur n'ayant en général pas accès en écriture au répertoire d'installation et à son contenu.
Si il est réellement voulu que la configuration soit partagée par tous les utilisateurs, ce fichier devra être accessible en écriture pour tous les utilisateurs qui sont censés pouvoir le modifier.


/*
coq
MVP Visual C#
CoqBlog
*/
0
cs_Djedje252 Messages postés 2 Date d'inscription mercredi 17 février 2010 Statut Membre Dernière intervention 21 février 2010
21 févr. 2010 à 21:30
Merci de cette réponse.

En me penchant plus sur le problème j'ai bien vu que cela venait des droits d'écriture sur le fichier en question mais comment faire pour que ce fichier soit en écriture pour tous les utilisateur lors de l'installation ?
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
21 févr. 2010 à 21:57
Ca dépend des générateurs de setup (et je n'en maitrise aucun), je suppose que la plupart d'entre eux fournissent le moyen de modifier les ACL associées à un fichier qu'ils copient.


/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous