Bonjour,
Je ne sais pas si je poste dans la bonne section, si jamais ce n'est pas le cas merci de me le dire :$
Voilà je vous expose mon problème :
J'ai fini la partie developpement de mon application (en C# avec VS2010 Express), et en ce moment je travaille sur le déploiement avec InnoSetup.
Je vous détaille les différents fichiers de mon projet :
- l'éxecutable
- des fichiers Settings pour cet executable
- le fichier manifest de l'executable
- un certain nombre de DLL Managé que j'ai créé, avec pour certaine un fichier Settings
- un dossier Resources ou sont stockés mes différentes base de données Access (3 au total) auxquelles j'accède dans mon application.
Il y a aussi quelques autre fichiers comme le fichier config.
Mon problème est le suivant :
dans mon script inno setup, je voulais faire simple donc je copie tout le repertoire Release de Visual studio dans Program FIles de l'ordinateur.
Tout ce passe bien sur XP, j'arrive à modifier ma base de données avec mon application, mes fichiers Settings également.
Par contre, sur Seven (et je suppose aussi sur Vista), la plupart du temps (mais pas tout le temps), le dossier Program Files est en Lecture Seule, du coup, lorsque je veux mettre à jour des données dans ma base de données, j'ai le droit à une belle erreur :s
Cette erreur disparait si je change l'attribut lecture seule de mon dossier, mais c'est l'utilisateur qui sera obligé de le faire, et je n'aime pas trop cela.
Sur internet, j'ai vu qu'il était conseillé de déposer les fichiers qui sont susceptible d'être modifiés (comme la BDD ou les fichiers Settings) dans les AppData commun.
D'où ma question, si je les met dans ce dossier, il faut que je change mes chemin d'accès, et surtout mes connectionString qui sont configurées par défaut dans le App.Config par "DataDirectory|\Resources\" (chose faite automatiquement par VisualStudio lorsque l'ont ajoute un élément), idem comment dire a mon éxecutable, ou mes DLL, d'aller chercher leurs fichiers de configuration dans AppData, et non pas dans le repertoire ou ils sont situés actuellement.
Il existe peut être une autre solution que de passer par ce changement de repertoire :s
Une dernière précision, l'application sera installé sur des postes clients, et je n'ai aucune idée de comment est configuré leur compte, c'est à dire qu'il peut très bien être en administrateur, comme en compte standard.
Voilà, si jamais vous n'avez pas compris un passage, n'hésitez pas
Merci d'avance pour vos réponses
Bonne journée
Partager