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 :

Créer un dossier où le projet est installé


Sujet :

VB.NET

  1. #1
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut Créer un dossier où le projet est installé
    Bonjour

    Comment créer un dossier ou le projet doit etre installé ?
    J'ai crée un projet d'installation.
    Le problème si je déploie le fichier msi dans c:\ ou e:\ (sans dossier) et ensuite lance l'exe j'obtiens une erreur ("ne trouve pas le fichier blabla.swf")
    par contre si je déploie le fichier msi dans un dossier et ensuite lance l'exe je n'ai pas d'erreur
    Je ne sais pas comment résoudre le problème soit créer un dossier où je déploie le msi ?
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    En te servant de
    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    System.AppDomain.CurrentDomain.BaseDirectory
    tu obtiens l'adresse absolue de ton exécutable

  3. #3
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour shayw,


    En utilisant l'espace de noms "My" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    My.Application.Info.DirectoryPath
    ou encore la classe "Application" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.StartupPath
    ....sinon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Environment.CurrentDirectory

    A+

  4. #4
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    Soit je n'ai pas compris la réponse ou soit j'ai du mal expliqué
    je voulais créer le dossier dans l'ordinateur ou j'installe un logiciel.Par défaut le logiciel est installé dans c:\program file(x86)

    Bien sur le client peut choisir un autre endroit et c'est la que je veux intervenir c.a.d à l'endroit où le client veut déployer le logiciel
    créer un folder qui sera nommé automatiquement.
    Si le client installe dans E:\ créer le folder BLABLA à E:\ et deployé le logiciel
    Possible que cela ne se fait pas ?

  5. #5
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par shayw Voir le message
    Soit je n'ai pas compris la réponse ou soit j'ai du mal expliqué
    .....
    En effet tu t'es mal exprimés......
    Ce qu'il serait bon de savoir c'est sous quelle version de VS tu développes !
    Tu n'es pas sans savoir que depuis VS2012, le type de projet "Installeur" n'existe plus et a été remplacé par "InstallShield Limited Edition".


    A+

  6. #6
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    Je suis sur vs2010

    je vais tacher d'expliquer ce que j'ai fait
    le projet windows forms application
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Public Class Form1
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            video.Location = New Point(0, 0)
            video.Size = DisplayRectangle.Size
            video.Url = New Uri(Application.StartupPath & "\auxfile\preface.swf")
        End Sub
    End Class
    auxfile est un dossier ajouté sous bin/release
    J'ai ajouté un projet d'installation setup. nommé setup1
    File system on target machine
    Sous Application Folder j'ajoute un nouveau folder nommé auxfile et y copie le fichier "preface.swf"
    Ajouter le project output -> primary output
    Je modifie le default location de l'application folder à [ProgramFilesFolder]\LES JEUX
    et build le setup
    Quand je lance le setup1.msi par défaut setup1 va etre installé à c:\program file (x86)/LES JEUX.
    L'erreur arrive si j'installe à C:\ ou E:\ à la racine sans folder ,l'installation se fait sans problème
    c'est quand je lance l'exe j'obtiens l'erreur "ne trouve pas le fichier preface.swf"
    Si j'installe dans un folder E:\Blabla je n'ai pas d'erreur.
    Peut on obliger à installer le logiciel seulement à un seul endroit dans le pc ?

    Merci

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par shayw Voir le message
    Je suis sur vs2010

    L'erreur arrive si j'installe à C:\ ou E:\ à la racine sans folder ,l'installation se fait sans problème
    c'est quand je lance l'exe j'obtiens l'erreur "ne trouve pas le fichier preface.swf"
    Si j'installe dans un folder E:\Blabla je n'ai pas d'erreur.
    Peut on obliger à installer le logiciel seulement à un seul endroit dans le pc ?

    Merci
    Tu es probablement soumis à des restrictions de sécurité. Avec les années, Microsoft s'est ingénié à mettre des barrières à l'accès de tout se qui se trouve dans le dossier-racine. J'ai déjà eu, il y a longtemps, un problème similaire sur Windows 7; mais, je ne me souviens plus si j'avais trouvé une solution.

    Si tu essaies et que tu réussis à le faire fonctionner en le lançant comme Administrateur, tu pourrais peut-être t'inspirer de cela:

    http://code.msdn.microsoft.com/VBUAC...ation-39b7606f

  8. #8
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    J'ai réussi à résoudre le problème
    L'erreur arrive si j'installe à C:\ ou E:\ à la racine sans folder ,l'installation se fait sans problème
    c'est quand je lance l'exe j'obtiens l'erreur "ne trouve pas le fichier preface.swf"
    parce qu'il y a \\ au lieu de \

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim path As String
            video.Location = New Point(0, 0)
            video.Size = DisplayRectangle.Size
            path = Application.StartupPath & "\auxfile\preface.swf"
            If path.Contains("\\") Then
                path = path.Replace("\\", "\")
            End If
            video.Url = New Uri(path)

  9. #9
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If path.Contains("\\") Then
                path = path.Replace("\\", "\")
            End If
    plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     path = path.Replace("\\", "\")

  10. #10
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Autrement il suffit de concaténer les chemins avec la méthode Path.Combine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Path.Combine(Application.StartupPath, "\auxfile\preface.swf")

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/06/2010, 12h42
  2. Créer un 'product' sur un projet qu'est-ce que cela signifie ?
    Par tiph02 dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 04/02/2009, 11h08
  3. Réponses: 4
    Dernier message: 14/01/2009, 13h07
  4. Réponses: 2
    Dernier message: 16/09/2008, 09h16
  5. Créer un dossier d'installation
    Par mohamed2006 dans le forum Installation, Déploiement et Sécurité
    Réponses: 1
    Dernier message: 24/04/2008, 09h38

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