Bonjour,
j'essaie de faire un projet setup pour mon application
comment je fait pour que ma base de données Access soit installé chez l'utilisateur pendant le processus d'installation?
Merci.
Bonjour,
j'essaie de faire un projet setup pour mon application
comment je fait pour que ma base de données Access soit installé chez l'utilisateur pendant le processus d'installation?
Merci.
Bonjour,
Quand tu parles de base de données, tu veux dire installer Access en entier (le moteur, les drivers, etc) ou juste déployer ta base ? Dans le premier cas c'est un peu plus complexe, le plus simple est d'ajouter Access à la liste des pré-requis et si jamais Access n'est pas installé alors le MSI le signalera à l'utilsiateur et lui demandera d'installer Access avant de poursuivre.
Dans le deuxième cas c'est trés simple, il te suffit d'ajouter un fichier à ton projet de setup (ton projet qiu génère le MSI) et lui demander de copier le fichier (ta base Access) à l'emplacement que tu souhaites.
Pour revenir à ma première hypothèse, si jamais tu veux installer Access toi même (à partir de ton MSI) ca doit être faisable en faisaint une installation silencieuse d'Access piloté par une "Custom Action" mais cela ne va pas être le même cout de développement.
Si tu veux plus d'information sur la création de setup voici un petit article sur le sujet. Il date un peu mais cela n'a pas forcément beaucoup changé, après que ce soit un site ASP.Net ou une appli WinForms cela reste globalement le même process.
Troisième hypothèse, si par "installer ta base Access" tu veux dire exécuter un script SQL alors tu dois ajouter une Custom Action à ton projet MSI. La Custom Action va se charger d'exécuter ton script. Dans ce cas je te conseille de faire un deuxième script SQL qui va vérifier que la modification de base a correctement été effectuée.
J'espère avoir répondu à ta question.
Cordialement,
Ronald
bonjour merci pour votre réponse assez détaillé,
mon problème c'est que quand j'ai fait le lien de mon programme avec le fichier Access (se trouvant dans le répertoire mes documents), Visual studio a copié ce fichier dans le dossier de l'application,en plus lors de la compilation le fichier a été copié dans la sortie "le dossier debug"
donc j'ai maintenant 3 copies du même fichier Access,
donc je c pas maintenant sur quelle fichier je suis en train de travailler et quelle est le fichier que je doit copier dans l'installation?
comme j'ai constaté que le fichier "le dossier debug" est celui qui est entrain d’être modifier, je l'ai copier dans l'installation mais quand j'utilise l'application une exception est générée des que je fait des insertion
Est-ce que la connexion string doit être modifier sinon comment je peut procéder?
merci
Bonjour,
Ok je comprends un peu mieux votre problème. En fait vous avez intégré votre base Access à la solution directement dans Visual Studio.
Sélectionnez le fichier (la base Access) dans l'explorateur de solution de Visual Studio, dans les propriétés du fichier vous avez une ligne "Copy to output directory" sélectionnez "Do not copy", ainsi votre base Access ne sera pas copié dans le répertoire Debug et Release, ca évitera d'avoir des copies inutiles de la base.
D'ailleurs avez-vous intéret à ce que votre base de données Access (le fichier) soit dans votre solution Visual Studio ? Je ne pense pas. Si cela n'est pas nécessaire à ce que vous faites je vous conseillerai de ne pas avoir votre base de données dans la solution. Evidemment si vous souhaitez intégrer votre base Access dans un MSI pour installer alors cela est nécessaire...
Pour ce qui est de la "connection string" elle ne doit pas nécessairement être modifiée, tant que celle-çi pointe sur la bonne base et intègre les bons credentials. C'est elle qui détermine sur quelle base (fichier) Access vous travaillez, le plus simple pour vous serait de la faire pointer sur la base se trouvant dans les répertoire "Mes documents".
Cordialement,
Ronald
Partager