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 :

Problème chemin d'accès


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2018
    Messages : 28
    Par défaut Problème chemin d'accès
    Bonjour tout le monde.

    De base je cherchais un moyen pour copier le contenu d'un Textbox afin de le mettre dans un fichier ".txt" que je voulais enregistrer par la suite.
    Le problème c'est que je n'avais pas accès au dossier dans lequel je voulais utiliser StreamWriter.

    J'ai alors fais des recherches sur comment avoir accès à ce dossier , je suis tombé sur des posts parlant du manifest (qu'il fallait modifier). Ce que j'ai fait par la suite( je l'ai mit en "requireAdministrator").
    J'ai également, comme marqué sur un post(https://www.developpez.net/forums/d8...ista-standard/) désactiver la sécurité du ClickOnce et Généré ma solution ( cela à apparemment fonctionné avec lui ) .

    Mais quand je fais comme cela mon programme ne veut même plus importé de dossier ( Il n'a pas accès au chemin , alors que jusque là il l'avait !)

    Donc j'ai un nouveau problème sur les bras et je ne sais pas quoi faire car le chemin à toujours été bon !

    Et je ne trouve rien qui m'aide... Une idée ?

    Merci pour vos éventuelles réponses.

  2. #2
    Membre averti
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Juillet 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2016
    Messages : 34
    Par défaut
    Salut,
    Je ne sais pas si cela peux t'aider mais moi j'utilise cette technique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If Directory.Exists(PathAccess) Then
                'Contrôle l’existence du fichier
                If File.Exists(PathAccess & "\" & Name & "." & Ext) Then
                'Ton code
                End if
    Else
       'Création du répertoire
       Directory.CreateDirectory(PathAccess)
    End If
    je pense aussi que supprimer les droits d'admin serait moins contraignant dans le cas où il ne serait pas vraiment nécessaire. Sinon il faut démarrer l'appli en tant qu'admin.

    Je n'ai jamais eu de soucis en faisant comme ça.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2018
    Messages : 28
    Par défaut
    Bonjour , et merci pour ta réponse.

    J'ai essayé comme tu me l'a dit mais il me sort toujours la même erreur : System.UnauthorizedAccessException*: 'L'accès au chemin d'accès 'C:\Users\moi\Documents\test' est refusé.'
    Voici mon code associé à mon enregistrement. En espérant qu'il soit utile !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub BtnSave_Click(sender As Object, e As RoutedEventArgs) Handles BtnSave.Click
     
     
     
            Savefile.InitialDirectory = "C:\Users\moi\Documents\test"
            Savefile.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
            Savefile.FileName = txtnumprog.Text & "(" & lsttrad.SelectedItem & ".mpf"
            Savefile.Title = "Enregistrer sous"
            Savefile.ShowDialog()
            Savefile.OpenFile()
            If Directory.Exists(Savefile.InitialDirectory) Then
                If File.Exists(Savefile.FileName) Then
                    Dim file As File
                    File.WriteAllText(Savefile.InitialDirectory, tradtxt.Text) ---> C'est à cette ligne que le programme plante.
                End If
            Else
                'Création du répertoire
                Directory.CreateDirectory(Savefile.InitialDirectory)
            End If

    J'ai également été voir du côté des attributs de mes dossiers, et même après avoir décoché la case "Lecture seule", le fichier la re-coche lui même dés lors que je ferme mon dossier.
    Le programme ne me demande pas les droits administrateurs pourtant ..
    J'ai voulu ajouter ASPNET aux membres pouvant accéder à mes dossiers en écriture et en lecture, mais je ne le trouve tout simplement pas dans la liste proposée.

  4. #4
    Expert confirmé

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    On va reprendre depuis le début, car il y a des info contradictoire. De quel type d'application s'agit-il ? Winform ? UWP ? ASP.NET ?

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2018
    Messages : 28
    Par défaut
    Citation Envoyé par François DORIN Voir le message
    On va reprendre depuis le début, car il y a des info contradictoire. De quel type d'application s'agit-il ? Winform ? UWP ? ASP.NET ?
    Bonjour François ,

    C'est une application WPF.

    Merci pour ta sollicitude

  6. #6
    Expert confirmé

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    Bon, alors oublie l'utilisateur ASPNET. Cela ne serait utile que dans le cas d'une application ASP.NET hébergé par IIS par exemple.

    Est-ce que tu as bien accès à C:\Users\moi\Documents\test ? Si tu l'ouvres en passant par l'explorateur Windows, aucun soucis ? Il s'agit bien d'un répertoire ?

  7. #7
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Mars 2011
    Messages : 109
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            Savefile.InitialDirectory = "C:\Users\moi\Documents\test"
            
            If Directory.Exists(Savefile.InitialDirectory) Then
                If File.Exists(Savefile.FileName) Then
                    Dim file As File
                    File.WriteAllText(Savefile.InitialDirectory, tradtxt.Text) ---> C'est à cette ligne que le programme plante.
                End If
            Else
                'Création du répertoire
                Directory.CreateDirectory(Savefile.InitialDirectory)
            End If
    il n'y a pas de nom de fichier dans "Savefile.InitialDirectory". C'est juste un chemin d'accès d'où le refus.

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

Discussions similaires

  1. Mon programme ne se lance pas
    Par golikouame dans le forum VB.NET
    Réponses: 0
    Dernier message: 23/03/2016, 13h15
  2. Mon programme ne s'actualise plus
    Par Popokatepelt dans le forum VB.NET
    Réponses: 7
    Dernier message: 18/11/2009, 19h07
  3. [WD11] Programme ne se lance plus
    Par diana_camilia dans le forum WinDev
    Réponses: 3
    Dernier message: 29/05/2008, 17h33
  4. mon programme ne se lance plus
    Par hitcher48 dans le forum C
    Réponses: 3
    Dernier message: 15/05/2007, 13h00
  5. Mon programme pr MSN marche plus
    Par Galdon dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/03/2007, 05h28

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