IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Windows Discussion :

Localisation fichier Access MDB


Sujet :

Développement Windows

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 169
    Points : 100
    Points
    100
    Par défaut Localisation fichier Access MDB
    Bonjour,

    [INTRODUCTION]
    J'ai une application 'Comptes' qui utilise un fichier MDB (Banques.mdb). Cette application étant locale, je désire que le mdb et l'exe soient dans un même répertoire.
    Mon projet est stocké sur un disque partagé X: dans le répertoire x:\projects\Comptes. J'y ai aussi placé le MDB de test
    J'ai fait la connection avec le MDB comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ConnectDB = New OleDbConnection("provider=Microsoft.jet.oledb.4.0; data source=" & DBPath & ";User Id=;Password=;")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBPath=Environment.CurrentDirectory.Replace("bin\Debug", "") & "Banques.mdb"
    car en mode debug, l'exe est dans x:\projects\Comptes\bin\debug alors que le mdb est toujours dans x:\projects\Comptes

    Sur un autre PC, j'ai copié l'exe + le MDB dans un même répertoire. Ça marche très bien.
    [\INTRODUCTION]

    Maintenant, je voudrais faire un installeur avec mises à jour.
    J'ai inclus mon MDB dans ma solution, et l'ai publiée dans X:\applications\Banques d'où les utilisateurs peuvent lancer le Setup.exe

    Quand je teste mon Setup, j'ai un message d'erreur:
    Nom : Capture.PNG
Affichages : 148
Taille : 8,8 Ko

    Même chose quand je lance l'application qui a quand même été installée dans Menu Démarrer.

    J'ai essayé de mettre le MDB dans bin\Debug (en changeant DBPath aussi): même problème.

    Je dois avoir manqué quelque chose mais le message d'erreur me laisse perplexe.

    Merci de votre aide

    Olivier

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    comme tu ne précises pas le chemin absolu du fichier il va tenter de le trouver depuis le répertoire d'exécution. Selon la config choisie, et si tu n'as pas modifié les param du projet, il posera le fichier compilé dans un répertoire spécifique, d'où il sera exécuté. Pour ton installeur c'est le même principe : il ne l'exécute pas réellement depuis le server distant, mais fait une copie locale dans un répertoire temporaire sur l'espace utilisateur.

    L'application "bien installée" est située où sur le poste client ?
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 169
    Points : 100
    Points
    100
    Par défaut
    C'est le but: le chemin du mdb doit être celui où l'utilisateur a installé l'appli. ça marche donc très bien si je prends mon exe+mdb sans installeur et que je les mets n'importe où.
    Le problème se pose lors de l'installation via ClickOnce de VS2015 où là, il semble le cherche dans un répertoire délirant!

    Après installation, j'ai cherché où il avait installé mon appli et j'ai trouvé cette adresse délirante:
    C:\Users\ogortais\AppData\Local\Apps\2.0\R09YVMAH.EJE\CG1BH6H4.1LO\banq..tion_c1fd56a8f999a365_0001.0000_2929055d5d3af07d

    et effectivement, point de MDB dedans !

    1) Comment est-ce possible. J'ai bien vérifié que le mdb faisait partie des fichiers d'application
    2) Pourquoi ClickOnce a-t-il placé mon appli dans un tel trou?

    Merci

  4. #4
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Arf, j'avais pas vu que tu parlais de ClickOnce ... mais j'aurais dû m'en douter vu le nom du répertoire d'installation.
    Et malheureusement je crois que tu n'as absolument aucun moyen de dire à ClickOnce d'installer ailleurs.
    Maintenant il faut trouver pourquoi ton MDB n'est pas collé dans ce même répertoire de barbare ...
    J'ai trouvé ça sur le net, regarde si ça t'aide un peu à avancer sur le sujet
    Plus je connais de langages, plus j'aime le C.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 169
    Points : 100
    Points
    100
    Par défaut
    Oui je pensais que la solution intégrée à VS2015 était simple mais je dois me rendre à l'évidence que, en plus, le répertoire d'installation n'est pas modifiable. Et ça c'est éliminatoire pour moi.
    J'ai quand même vérifié dans ton lien que mes paramétrages étaient bon mais cela na pas solutionné mon problème.

    Je vais devoir trouver une autre solution que ClickOnce. Je me souviens de INNOSetup quand je faisais des appli avec Delphi (les exe générés n'avaient pas besoin d'installation de dll/OCX et pouvaient donc être utilisé comme une appli "portable") peut être cela peut il s'envisager avec l'exe de mon appli VS2015?

    Merci de ton aide jopopmk

  6. #6
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Si tu n'utilises que des DLL du GAC (attention aux versions tout de même), alors ton application est "portable"

    Un truc facile à mettre en place qui pourrait fonctionner dans ton cas : une archive auto-extractible.
    C'est simplement une archive zip normale, mais sous forme d'exécutable, ça fait plus propre
    Par contre on aura pas une "vraie" installation, càd pas d'UUID, pas de clés de registre, pas de désinstallation auto/via l'IHM de Zindozs ...
    Pour le souci des versions tu dois pouvoir intégrer les redist à ton archive.

    Bonne recherche
    Plus je connais de langages, plus j'aime le C.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 169
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Si tu n'utilises que des DLL du GAC (attention aux versions tout de même), alors ton application est "portable"
    .....
    GAC Késako?

  8. #8
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Citation Envoyé par zitoune92 Voir le message
    GAC Késako?
    Global Assembly Cache, en gros les DLL .NET accessibles à toutes les applications.
    C'est notamment là où se trouvent les assemblies du framework .NET
    Plus je connais de langages, plus j'aime le C.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 169
    Points : 100
    Points
    100
    Par défaut
    C'est à dire que si le Framework .NET est déjà installé sur le poste où installer l'appli et que cette appli n'utilise pas de composant autres que ceux fournis avec VS2015, ça devrait le faire?

  10. #10
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Citation Envoyé par zitoune92 Voir le message
    C'est à dire que si le Framework .NET est déjà installé sur le poste où installer l'appli et que cette appli n'utilise pas de composant autres que ceux fournis avec VS2015, ça devrait le faire?
    Un framework .NET sera nécessairement installé à partir du moment où c'est exécuté sur un Zindozs.
    Mais il est possible que celui que tu utilises n'y soit pas (je suppose que t'es sur un 4.5.x).
    C'est pour ça que je parle de redist (petit nom pour redistribuable, un installer qui contient les DLL qui vont bien).
    A noter que si le Zindozs est pas trop vieux il y a de fortes chances qu'il ait déjà ce qu'il faut (notamment grâce aux màj de l'OS).
    Plus je connais de langages, plus j'aime le C.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 169
    Points : 100
    Points
    100
    Par défaut
    Bon, on va chercher ça. Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/08/2014, 21h09
  2. [ODBC] Select sur fichier ACCESS MDB PHP/5.0 Linux Debian
    Par Stef.web dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 30/01/2014, 16h08
  3. Ouvrir un fichier Access (MDB)
    Par morinxav1 dans le forum Bases de données
    Réponses: 13
    Dernier message: 28/10/2011, 10h24
  4. Repertoire (fichier ".csv") dans base Access ".mdb"
    Par Tone31 dans le forum VB.NET
    Réponses: 7
    Dernier message: 02/02/2011, 15h04
  5. convertir fichier access MDB en base mysql
    Par ps3user dans le forum Décisions SGBD
    Réponses: 0
    Dernier message: 14/10/2008, 17h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo