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

API, COM et SDKs Delphi Discussion :

Service et copie fichier sur le réseau


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 146
    Points : 76
    Points
    76
    Par défaut Service et copie fichier sur le réseau
    Bonjour,

    Je développe un service qui génère des fichiers (XML - à partir d'une DB). Je doit transférer ces fichiers sur une machine distante sur le réseau local - emplacement configurable.

    J'ai essayé différentes choses :

    FileCopy, MoveFileEx et un code utilisant SHFileOperation. Rien ne fonctionne, même en créant un lecteur réseau.

    La function DirectoyExists(MonDirDeDestination) me renvoie aussi False alors qu'il est bien accessible dans l'explorateur...

    Une idée, sachant que j'aimerais ne pas avoir à faire appel à un FTP... ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 786
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 786
    Points : 13 439
    Points
    13 439
    Par défaut
    Il faudrait je pense au minimum que le partage soit accessible par "tout le monde" pour que SYSTEM puisse y accéder.
    Sinon, soit Il faudrait démarrer le service avec un autre compte que SYSTEM ou démarrer un autre processus depuis le service par CreateProcessWithLogon. Ce second compte possédant bien sûr des droits en écriture (existe sur la cible).

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 146
    Points : 76
    Points
    76
    Par défaut
    Merci pour ta réponse...

    Il faudrait je pense au minimum que le partage soit accessible par "tout le monde" pour que SYSTEM puisse y accéder.
    Le probleme est que justement, ce répertoire est accessible à tous, et qu'un programe 'normal' (pas un service) parvient à écrire sans problème...

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 603
    Points : 25 288
    Points
    25 288
    Par défaut
    Utilise SC.exe pour configurer ton service avec une session
    Cela peut se faire depuis aussi service.msc
    cela fera automatiquement le CreateProcessWithLogon conseillé par Andnotor

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sc.exe config ServiceName obj=... password=...
    cela peut se faire en Delphi pour l'installation (via un EXE normal)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    begin
      ShellExecute(0, 'open', 'Servicelejert', '/install', nil, SW_NORMAL); //  /silent
      Sleep(1000);
     
      ShellExecute(0, 'open', 'sc.exe', PChar(Format('config "Servicelejert" obj= %s password= %s', [edAccountName.Text, edAccountPW.Text])), PChar(ExtractFileDir(Application.ExeName)), SW_NORMAL);
    end;
    Le comportement du Service change vraiment entre mode SYSTEM et un mode SESSION

Discussions similaires

  1. Création d'un fichier sur le réseau
    Par Luffy Duck dans le forum Langage
    Réponses: 23
    Dernier message: 10/01/2008, 16h56
  2. Réponses: 2
    Dernier message: 22/03/2007, 13h25
  3. Copier un fichier sur un réseau
    Par Chess0 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 16/08/2006, 17h56
  4. Réponses: 2
    Dernier message: 19/12/2005, 20h11

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