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

VB.NET Discussion :

Compilation (garder les fichiers de base dans program Files) [Débutant]


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Compilation (garder les fichiers de base dans program Files)
    Bonjour a tous,

    je viens de créer un projet avec Visual Basic 2010 express (il s'agit d'un SIG base sur ArcReader, la version gratuite d'ArcGIS), et je l'ai compilé pour créer un fichier .exe. (avec ClickOnce)

    Ça marche très bien, pas de problème, mais ce que j'obtiens c'est un exécutable qui ne fonctionne que si mes fichiers de base sont copiés dans un dossier spécifique dans c:/ (j'ai programme tout ca en dur !!)
    Ce que je souhaiterais, c'est un fichier d'installation qui installerait le programme dans un fichier en particulier (par ex. C:/program files/Nom_du_fichier) avec toutes les données de base automatiquement.

    Vous comprendrez, par ma question, que je suis un débutant ceinture blanche en programmation.
    Je suppose déjà que je ne devrais pas coder en dur, mais je ne sais pas faire autrement (faut-il mettre toutes les données de base dans "Références" ??).

    Merci de vos conseils...
    Je ne vous demande bien sur pas de me dire en détail comment faire, mais plutôt de m'orienter...
    Merci d'avance,
    Bye

  2. #2
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut bonjour
    Bonjour,

    Je ne suis pas certain de ce que veux dire "fichiers de base", j'imagine que c'est des fichiers de données que votre application utilise.
    Quoiqu'il en soit, effectivement il ne faut pas travailler avec des chemins en dur dans votre programme.

    Il faudra donc que vous commenciez par créer une projet d'installation, dans votre solution actuelle.
    On peut se débrouiller assez facilement, c'est ici que vous déciderez d'installer votre programmes dans programmes files ...

    De même vous pourrez indiquer tous les fichiers que votre solution à besoin, ainsi il les inclura dans le projet de Setup.

    Et enfin, dans votre programmes, pour accéder à vos fichiers, plutôt que d'utiliser "C:...",
    vous utiliserez:

    Dim nomFichier as String = "My.Application.Info.DirectoryPath" & "/monfichier.txt"


    Je ne sais pas si ça réponds à tout, n'hésitez pas à reposer des questions.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    En complément, vous avez aussi la méthode Directory.GetCurrentDirectory qui vous donne le répertoire courant de l'exe au démarrage (sans le \ à la fin ; Lien msdn), mais que vous pouvez modifier (le répertoire courant) à votre guise par la suite avec la propriété Environment.CurrentDirectory.

  4. #4
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Citation Envoyé par rv26t Voir le message
    Bonjour,

    En complément, vous avez aussi la méthode Directory.GetCurrentDirectory qui vous donne le répertoire courant de l'exe au démarrage (sans le \ à la fin ; Lien msdn), mais que vous pouvez modifier (le répertoire courant) à votre guise par la suite avec la propriété Environment.CurrentDirectory.
    Et bien justement, c'est un peu le problème avec cette fonction. Il ne retournera pas forcement toujours la même chose.
    Il suffit d'ouvrir un OpenFileDialog, pour que le currentDirectory change... Ce qui n'est pas très fiable...

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup a tous les deux,

    c'est tres clair.
    ... et effectivement, par fichier de base je voulais dire mes fichiers de donnees (en l'occurence des images et des Shapefiles).
    Je pense que mon probleme vient du fait que j'utilise Visual Basic Express, qui est une version incomplete de Visual studio, et de ce fait je suis limité dans la creation des projets d'installation (je ne peux passer que par ClickOnce).
    Je vais essayer de charger la version d'essai de Visual Basic Studio 2010 pour voir si j'arrive a creer un projet d'installation comme je le souhaite.
    Je vous tiens au courant...
    Bye

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Citation Envoyé par mactwist69 Voir le message
    Il suffit d'ouvrir un OpenFileDialog, pour que le currentDirectory change... Ce qui n'est pas très fiable...
    Je viens de tester avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            OpenFileDialog1.ShowDialog()
            MessageBox.Show(IO.Directory.GetCurrentDirectory)
            MessageBox.Show(Environment.CurrentDirectory)
    Pour OpenFileDialog1 le répertoire change effectivement pour l'ouverture suivante.
    Le répertoire courant (GetCurrentDirectory) n'a pas changé.
    Peux-tu montrer un exemple ?

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonsoir a tous,

    juste pour confirmer que cela a bien marché:
    en fait on ne peut pas faire ce type de deploiement avec Visual express.
    J'ai donc chargé Visual Studio 2010, et la il est possible de definir où seront installés les fichiers de donnees.

    Voila,
    Merci pour tout...

  8. #8
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Citation Envoyé par rv26t Voir le message
    Peux-tu montrer un exemple ?
    En fait, c'est un problème qui devient obsolète, qui n'existe que sur Windows XP.
    En faisant le teste sur ma VM sous Windows 7, j'ai vu que c'était effectivement réglé.

    Donc pour changer le CurrentDirectory, il faut le faire explicitement avec un Set.

    Cela étant, je ne trouve toujours pas trop adapté d'utiliser cette fonctionnalité pour trouver l'adresse fixe du dossier du programme alors que le Current Directory peut potentiellement être changé.

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

Discussions similaires

  1. [AC-2007] Impossible d'importer tous les fichiers excel xls dans ma base
    Par CIRE3 dans le forum Access
    Réponses: 11
    Dernier message: 12/04/2015, 17h49
  2. Réponses: 1
    Dernier message: 05/02/2014, 00h20
  3. Garder les tableaux et lignes dans Word ou Excel
    Par domb_st dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/05/2007, 07h48
  4. Réponses: 7
    Dernier message: 19/10/2006, 21h06
  5. Garder les style de paragraphe dans un formulaire
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 10/08/2005, 15h04

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