Setup et écriture/lecture de données
Bonjour à toutes et tous
Voici mon problème :
J'ai créé un jeu accessible à tout le monde. Chaque nouveau joueur donne un pseudo et un mot de passe.
Quand il valide, ceux-ci sont mémorisés dans un dossier personnalisé à son nom. Dans mon cas, cela donne :
C:\Users\malco\Desktop\MOT_MYSTERE\Mot_Mystere 7.0\Mot_Mystere 5.0\bin\Debug\netcoreapp3.1\nomDuJoueur
car c'est là que par défaut la propriété "WriteAllText" de C# enregistre des fichiers.
Je sais créer un dossier "JOUEURS" dans mon projet et y mettre toutes les infos des joueurs mais cela ne change rien au problème de chemin relatif !!
J'ai tenté de créer un dossier d'installation de 2 façons :
1. avec Publier>ClickOnce : cela ne fonctionne pas.
2. avec un Setup cela ne fonctionne pas non plus.
Dans les 2 cas l'appli s'installe bien mais quand je la lance rien ne se passe.
Le seul cas où cela fonctionne c'est si je l'installe sur MON ordinateur ! (il écrit les fichiers dans le chemin écrit plus haut)
La raison je pense :
le chemin d'accès aux fichiers écrit dans mon projet pour lire et écrire les données du joueur sur disque passe par un chemin local, celui de mon ordinateur.
Je sais que la solution idéale serait d'utiliser la sérialisation mais je ne veux pas réécrire tout mon projet car cela fait un an que je travaille dessus et il est enfin prêt !!
comment puis-je faire ?
y a t'il un moyen d'inclure un dossier dans mon projet qui servirait de référence de chemin d'accès à l'écriture/lecture des données du joueur (avec "WriteAllText/ReadAllText") et d'importer celui-ci dans mon installation ?
Je reste disponible si vous avez besoin d'autres infos. Au secours !! Je suis si proche de la fin !!
Merci d'avoir pris le temps de me lire
Bonne journée
3 pièce(s) jointe(s)
impossible de lire ma publication sur un autre ordinateur similaire
En temps j'ai essayé d'autres solutions. J'ai remplacé mon chemin d'accès par :
1. private readonly string dossierDesJoueurs = Application.StartupPath; et la publication fonctionne bien sur mon ordinateur mais pas sur un autre ordinateur identique au mien.
2. private readonly string dossierDesJoueurs = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); Idem, l'application s'installe parfaitement mais rien ne se passe quand je lance l'application via le menu programme (sur l'autre ordinateur).
Mon dossier d'installation comprends ceci :
Pièce jointe 600092
C'est tout .
Depuis cette modification de chemin d'accès je je sais même plus où vont se nicher les dossiers des joueurs mais bon, ca fonctionne ... sur mon ordinateur seulement.. sniff... ne sais plus où chercher.