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

Windows Forms Discussion :

[VB.NET] Mon appli ne fonctionne pas autre part que dans mes documents


Sujet :

Windows Forms

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut [VB.NET] Mon appli ne fonctionne pas autre part que dans mes documents
    Bonjour le forum,

    J'ai un big problem.

    J'ai créé une application VB.NET qui permet de copier / coller une db d'un serveur vers mon disque dur.

    ça fonctionne très bien.

    L'éxécutable de mon programme se trouve dans

    M:\Mes Documents\Visual Studio Projects\WindowsApplication1\WindowsApplication1\bin

    Quand je copie / colle l'éxécutable sur le bureau, il arrive toujours à prendre la base de données distante sur le serveur mais quand je veux utiliser la base de données qui est en local (après copie / collage du serveur vers le disque dur locale) il me donne ce message d'erreur :



    Le problème doit venir d'ici mais comment le résoudre pour que l'application (l'exe) fonctionne sur n'importe quel PC

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     'ouverture de la connection(à partir du répertoire de l'application)sur la même ligne
            cnxstr = "provider = microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\delibes.mdb;"
            cnn = New OleDbConnection
    C'est quand même le but de Visual Basic, créer et mettre des programmes à la disposition des utilisateurs.

    Merci d'avance pour votre aide.

    bgs

  2. #2
    Membre habitué Avatar de Angath
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2004
    Messages : 140
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par beegees
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     'ouverture de la connection(à partir du répertoire de l'application)sur la même ligne
            cnxstr = "provider = microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\delibes.mdb;"
            cnn = New OleDbConnection
    bgs
    Avec cette chaine de connexion ton exe ira toujours chercher le fichier *.mdb dans le repertoire où se trouve ton exe (application.startuppath).

    Donc si le fichier est pas la normal que ca plante

    Soit tu met ta bdd au meme endroit que l'exe, soit tu met ton fichier à un endroit bien définit et tu met le chemin dans la chaine de connexion.

  3. #3
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Points : 2 629
    Points
    2 629
    Par défaut
    Le fichier 'XXXX' est introuvable.
    Cela me semble on ne peut plus clair comme message pour trouver pourquoi cela ne fonctionne pas

  4. #4
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour,

    Merci pour vos réponses.

    J'ai changé le chemin de destination de la base de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    File.Copy("\\164.15.112.38\db\delibes.mdb", "%programfiles%\delibes\delibes.mdb", True)
    Le problème est que le programme ne trouve pas l'emplacement et me donne ce message d'erreur :


    Une exception non gérée du type 'System.IO.DirectoryNotFoundException' s'est produite dans mscorlib.dll

    Informations supplémentaires : Impossible de trouver une partie du chemin d'accès "%programfiles%\delibes\delibes.mdb".
    Le plus bizare de tout c'est que quand je fais Windows+R (éxécuter) et que je tape

    %programfiles%\delibes\delibes.mdb
    Il lance la base de données sans problème.

    Est-ce que vous comprenez le problème ?

    Merci d'avance.

    bgs

  5. #5
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Ca n'est pas parceque %program files% fonctionne avec Windows que ça fonctionne avec DotNet.
    Avec DotNet, pour récupérer le dossier Program Files, il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)
    Donc pour toi, ça donnes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File.Copy("\\164.15.112.38\db\delibes.mdb", Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + "\delibes\delibes.mdb", True)

  6. #6
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour guitoux1,

    Merci beaucoup pour ton aide, sans toi, je n'y serais jamais arrivé !

    Maintenant, la base de données se copie dans c:\programme files (si c: est le disque système bien sûr).

    J'ai dû changer la data source qui était :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
     
    cnxstr = "provider = microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\delibes.mdb;"
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    cnxstr = "provider = microsoft.jet.oledb.4.0 ; data source = " Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + "\delibes\delibes.mdb;"
    Mais à chaque fois il me dit :


    "Fin d'instruction attendue"
    vois-tu où est l'erreur ?

    Merci encore car c'est vraiment du bon boulot.

    bgs

  7. #7
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    J'ai trouvé le problème :

    Il fallait mettre ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cnxstr = "provider = microsoft.jet.oledb.4.0 ; data source = " & Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + "\delibes\delibes.mdb;"
    mais la base de données qui devrait être utilisée ne l'est pas, je continue à chercher.

    bgs

  8. #8
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cnxstr = "provider = microsoft.jet.oledb.4.0 ; data source = " + Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + "\delibes\delibes.mdb;"
    T'as oublié un +

  9. #9
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Resalut guitoux1,

    ça fonctionne, tout fonctionne, c'est nikel, super grand merci à toi !!! et bien sûr aux autres qui m'ont aidé.

    Très bonne journée à toutes et à tous .

    bgs

  10. #10
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    J'ai parlé malheureusement trop vite.

    Quand je copie l'exe dans program files.... il va chercher la base de données sur le serveur, la copie sur le disque dur dans program files, ouvre le data set avec la bonne source de données MAIS malheureusement, mon importation vers Excel ne fonctionne plus, j'ai ce message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    System.IO.FileNotFoundException: Le fichier ou l'assembly nommé Interop.Excel ou l'une de ses dépendances, est introuvable.
    Nom du fichier : "Interop.Excel"
    Aurais-je mal généré mon application ?

    Pour créer l'exe, j'ai fais :

    Générer / Générer application windows 1

    Est-ce la bonne méthode ?

    Merci et désolé pour le dérangement.

    bgs

  11. #11
    Membre habitué Avatar de Angath
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2004
    Messages : 140
    Points : 174
    Points
    174
    Par défaut
    Si tu a copier que l' exe, il doit te manquer surement le fichier Interop.Excel.dll ou un truc dans le genre.

    Cette dll est générée en meme temps que l'exe dans le répertoire /bin/debug de ton projet. Copie la avec l'exe

  12. #12
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Ton application possède des dépendances (dépendance Interop.Excel)
    En fait, il faut que tu déploie ton appli en faisant publier : bouton droit sur ton projet --> Publier. La il te généreras un.msi pour pouvoir l'installer ou tu veux, avec ses dépendance.

    PS : ca c'est en DotNet 2.0 Si t'es en 1.1, il faut créer un projet de déploiement

  13. #13
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Angath et Guitoux1,

    Je tiens à sincèrement vous remercier.

    C'est grâce à des gens comme vous qu'on avancent.

    J'apprends un tas de truc grâce à vous !

    Vous êtes super sympa, ça fonctionne nikel !

    Thanks and respect to you !

    bgs

  14. #14
    Nouveau membre du Club
    Inscrit en
    Février 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 31
    Points : 37
    Points
    37
    Par défaut
    Angath grand maitre lol

  15. #15
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Guitoux1 aussi !!!

Discussions similaires

  1. Intégrer une image HTML enregistrée autre part que dans un répertoire du projet
    Par bilbonec dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/11/2012, 17h11
  2. Réponses: 6
    Dernier message: 21/10/2007, 01h19
  3. la publication de mon appli ne fonctionne pas
    Par tchecko dans le forum Accès aux données
    Réponses: 4
    Dernier message: 07/10/2006, 12h59
  4. [VB.Net/DataReader] Pourquoi mon ExecuteReader ne fonctionne pas ?
    Par emeraudes dans le forum Accès aux données
    Réponses: 8
    Dernier message: 21/08/2006, 14h38
  5. [JFrame] Ouverture fenêtre autre part que dans coin haut gauche
    Par tooney dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 28/05/2005, 21h36

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