Où stocker les fichiers de données du programme Windows?

Mon programme contient un fichier de firebase database sql lite que mon programme crée après la première exécution, puis stocke les données dans l’utilisation de l’application updon. La firebase database se construit sur une période de temps. Le fichier db est créé dans le répertoire d’installation du programme

Je dois régulièrement mettre à jour l’application lorsque des bugs sont corrigés. Je publie donc un nouveau programme d’installation msi. Le programme d’installation supprime les anciens fichiers d’installation, à l’exception des fichiers db, et installe les nouveaux fichiers de programme.

Certains utilisateurs ne l’installent pas à l’emplacement par défaut afin que le fichier de firebase database ne soit pas présent à l’emplacement sélectionné.

Je souhaite savoir s’il est possible de stocker des fichiers de données dans un dossier de données de programme en dehors du répertoire d’installation? afin que chaque nouvelle mise à jour de mon programme puisse accéder aux données de ce dossier de données de programme ..?

Existe-t-il un répertoire de données de programme dans Windows XP, Vista et 7? et comment y accéder en C #

Merci,

Il est très dangereux de stocker les données de l’utilisateur dans le dossier de l’application. Non seulement les données seront détruites si l’utilisateur met à jour ou désinstalle votre application, mais les utilisateurs Standard ne peuvent même pas écrire dans le répertoire de l’application.

J’inclus généralement une firebase database initiale dans l’application et la copie dans un dossier du dossier Environment.SpecialFolder.ApplicationData lors du lancement de l’application. Toutes les données utilisateur sont stockées dans la copie. si l’utilisateur désinstalle l’application, la firebase database initiale est supprimée mais les données de l’utilisateur sont conservées. Voir cette réponse SO pour un exemple.

Regardez ici pour décider du bon endroit pour vos données.

Je voterais pour huit

  • ApplicationData (profil de l’utilisateur actuel)
  • CommonApplicationData (Tous les utilisateurs sur la machine locale)
  • LocalApplicationData (utilisateur actuel sur la machine locale)

Obtenez le dossier de votre choix avec

 Environment.GetFolderPath(Environment.SpecialFolder.xxx)) 

Vous ne devriez pas stocker de données dans le dossier d’installation. Essayez ceci . Les dossiers spéciaux sont conçus pour vous permettre de stocker ce type de données. Il existe également les parameters de l’application, auxquels vous pouvez accéder et qui vous permettent de stocker facilement une paire de valeurs de clé d’utilisateur, Information .