Problème fichier de configuration après installation

Signaler
Messages postés
2
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
21 février 2010
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
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

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
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
*/
Messages postés
2
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
21 février 2010

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 ?
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
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
*/