[WPF][VB] Ecriture d'un fichier dans le dossier du programme après déploiement p

Jayme65 Messages postés 66 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 26 mars 2019 - 24 janv. 2012 à 19:04
Shindaraa Messages postés 41 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 22 juillet 2012 - 14 févr. 2012 à 17:02
Bonjour,

J'espère que vous pourrez m'aider, car cela me rend fou ;-)

J'ai 2 projets dans une même solution. Le premier est le programme 'principal', l'autre est un petit gestionnaire relatif au programme principal.

Les 2 sont codés en VB sous WPF.

Il se fait que les 2 programmes ont une routine pour écrire un petit fichier .ini, au même niveau que l'application. Le code utiliser pour "prendre" ce chemin est "AppDomain.CurrentDomain.BaseDirectory"

Lors du débogage, l'un et l'autre programme écrivent et lisent sans soucis ces fichiers.ini (donc, à partir de leur dossier bin>debug respectifs

J'utilise donc "Visual Studio Installer" pour créer le programme d'installation.

Et c'est après cette installation que le problème arrive:
---------------------------------------------------------------------

Alors que le programme 'principal' (que j'ai écrit en premier) peut utiliser la lecture/écriture des fichiers présents au niveau du programme...impossible (et crash) de le faire avec le 2eme, qui utilise pourtant les mêmes routines (et qui je le rappelle, fonctionne parfaitement dans son dossier 'debug'). Après vérification, je coche dans les onglets "Security" et "Signing" de mon 2eme projet, les cases "Sign the ClickOnce manifest" et "Enable ClickOnce Security settings"...et là ca fonctionne...mais les fichiers sont créé et lu depuis un dossier "VirtualStore" dans "AppData" (de mémoire)



En résumé, ma question est donc: pourquoi mon premier projet peut-il lire et écrire au niveau de l'application, alors qu'avec mon second cela ne semble pouvoir se faire que dans ce dossier "VirtualStore"

D'avance un grand merci!!

1 réponse

Shindaraa Messages postés 41 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 22 juillet 2012
14 févr. 2012 à 17:02
Salut,

Le fichier .ini que tu écrit et dans le même dossier que l'exe ??

Vérifie que ton fichier existe avant de le lire...

If Not File.Exists("./toto/" + NomFichier) Then
File.Create("./toto/" + NomFichier)
End If

Dans ce cas la ton fichier est dans un Dossier "toto" a coter de ton exe...
0