Problème de déploiement ?

Le
Christian
Bonjour,

J'ai terminé un petit programme d'upload de fichiers (via FTP). Pour ce
j'utilise le contrôle Inet.

Tout ce passe bien lorsque je lance l'application à partir de VB, également
avec l'exécutable (compilé par VB) qui se trouve dans le dossier où sont
enregistrer les fichiers de VB et du programme (forms, modules etc.). Là
encore nickel cela marche.

J'utilise visual Studio Installer pour compiler le programme et pouvoir
l'installer. Tout se passe bien. J'ai bien tout les contrôles qui figurent
dans le programme et notamment Inet.

Mon programme lancé, ne me génère aucune erreur lorsqu'il upload les
fichiers pourtant, ils n'arrivent pas à destination. Les chemins sont ok.
Par contre si je loop sur mon adresse IP publique, l'upload se fait bien.

J'y comprends rien !

A l'aide s'il vous plaît.
Christian.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Dr John
Le #15361221
Christian a émis l'idée suivante :
Bonjour,

J'ai terminé un petit programme d'upload de fichiers (via FTP). Pour ce
j'utilise le contrôle Inet.

Tout ce passe bien lorsque je lance l'application à partir de VB, également
avec l'exécutable (compilé par VB) qui se trouve dans le dossier où sont
enregistrer les fichiers de VB et du programme (forms, modules etc.). Là
encore nickel cela marche.

J'utilise visual Studio Installer pour compiler le programme et pouvoir
l'installer. Tout se passe bien. J'ai bien tout les contrôles qui figurent
dans le programme et notamment Inet.

Mon programme lancé, ne me génère aucune erreur lorsqu'il upload les
fichiers pourtant, ils n'arrivent pas à destination. Les chemins sont ok.
Par contre si je loop sur mon adresse IP publique, l'upload se fait bien.

J'y comprends rien !

A l'aide s'il vous plaît.
Christian.



Le transfert sur ton ip publique reviens à faire un transfert sur ton
ip en local, ce qui veut dire que rien ne passe par internet. Les
données de partent pas pour revenir, elles restent chez toi. Donc si il
y a un pare-feu qui bloque la sortie tu ne peux pas le savoir. Je
suppose que tu as-tu essayé de faire de l'upload avec un client FTP
lambda ? As-tu un routeur sur ton réseau ?
Christian
Le #15361201
Bonjour,

Merci pour la réponse. Oui j'i un routeur et un firewall. Seulement, cela ne
peut venir de cela, puisque cela fonctionne à partir de l'exe qui se trouve
dans le dossier de programmation et qui communique avec le site distant.

En fait, après plusieurs test et recherche, je m'aperçois que pour une
raison que j'ignore, le contrôle Inet se connecte bien au serveur mais au
moment de télécharger les fichiers, il y a comme une désynchronisation.
A aucun moment (dans les exe se trouvant ailleurs que dans le dossier de
programmation) Inet ne rentre dans la boucle StillExecuting

Du coup, en schématisant Inet ferme la connexion lorsque le serveur envoi
son ordre pour dire ok j'attends ta demande...

Maintenant, pourquoi ??

Christian.

"Dr John"
Christian a émis l'idée suivante :
> Bonjour,
>
> J'ai terminé un petit programme d'upload de fichiers (via FTP). Pour ce
> j'utilise le contrôle Inet.
>
> Tout ce passe bien lorsque je lance l'application à partir de VB,


également
> avec l'exécutable (compilé par VB) qui se trouve dans le dossier où sont
> enregistrer les fichiers de VB et du programme (forms, modules etc.). Là
> encore nickel cela marche.
>
> J'utilise visual Studio Installer pour compiler le programme et pouvoir
> l'installer. Tout se passe bien. J'ai bien tout les contrôles qui


figurent
> dans le programme et notamment Inet.
>
> Mon programme lancé, ne me génère aucune erreur lorsqu'il upload les
> fichiers pourtant, ils n'arrivent pas à destination. Les chemins sont


ok.
> Par contre si je loop sur mon adresse IP publique, l'upload se fait


bien.
>
> J'y comprends rien !
>
> A l'aide s'il vous plaît.
> Christian.

Le transfert sur ton ip publique reviens à faire un transfert sur ton
ip en local, ce qui veut dire que rien ne passe par internet. Les
données de partent pas pour revenir, elles restent chez toi. Donc si il
y a un pare-feu qui bloque la sortie tu ne peux pas le savoir. Je
suppose que tu as-tu essayé de faire de l'upload avec un client FTP
lambda ? As-tu un routeur sur ton réseau ?




Patrick JONIEC
Le #15361191
Sauf erreur de ma part, sous VB, l'appli est identifiée par le firewall
comme étant VB, et a donc accès à internet.
Par contre, une fois compilé, le firewall voit l'Exe par son vrai nom.
Pour être sûr que ça ne vient pas du firewall, il faudrait le désactiver, et
voir comment ça se passe...

"Christian" news:482c9ccf$0$6524$
Bonjour,

Merci pour la réponse. Oui j'i un routeur et un firewall. Seulement, cela
ne
peut venir de cela, puisque cela fonctionne à partir de l'exe qui se
trouve
dans le dossier de programmation et qui communique avec le site distant.

En fait, après plusieurs test et recherche, je m'aperçois que pour une
raison que j'ignore, le contrôle Inet se connecte bien au serveur mais au
moment de télécharger les fichiers, il y a comme une désynchronisation.
A aucun moment (dans les exe se trouvant ailleurs que dans le dossier de
programmation) Inet ne rentre dans la boucle StillExecuting

Du coup, en schématisant Inet ferme la connexion lorsque le serveur envoi
son ordre pour dire ok j'attends ta demande...

Maintenant, pourquoi ??

Christian.

"Dr John"
Christian a émis l'idée suivante :
> Bonjour,
>
> J'ai terminé un petit programme d'upload de fichiers (via FTP). Pour ce
> j'utilise le contrôle Inet.
>
> Tout ce passe bien lorsque je lance l'application à partir de VB,


également
> avec l'exécutable (compilé par VB) qui se trouve dans le dossier où
> sont
> enregistrer les fichiers de VB et du programme (forms, modules etc.).
> Là
> encore nickel cela marche.
>
> J'utilise visual Studio Installer pour compiler le programme et pouvoir
> l'installer. Tout se passe bien. J'ai bien tout les contrôles qui


figurent
> dans le programme et notamment Inet.
>
> Mon programme lancé, ne me génère aucune erreur lorsqu'il upload les
> fichiers pourtant, ils n'arrivent pas à destination. Les chemins sont


ok.
> Par contre si je loop sur mon adresse IP publique, l'upload se fait


bien.
>
> J'y comprends rien !
>
> A l'aide s'il vous plaît.
> Christian.

Le transfert sur ton ip publique reviens à faire un transfert sur ton
ip en local, ce qui veut dire que rien ne passe par internet. Les
données de partent pas pour revenir, elles restent chez toi. Donc si il
y a un pare-feu qui bloque la sortie tu ne peux pas le savoir. Je
suppose que tu as-tu essayé de faire de l'upload avec un client FTP
lambda ? As-tu un routeur sur ton réseau ?








Christian
Le #15361161
La connexion et déconnexion avec le serveur FTP se fait, je le vois sur
l'interface de gestion du site. Par contre c'est lors de l'envoi de fichier
que cela ne marche pas. Ma commande :

.Execute , "PUT " & ChemSource & " " & chemDestination
DoEvents

est traitée mais je ne rentre pas dans la boucle :

Do While .StillExecuting
DoEvents
Loop
Je passe directement aux fichier suivant.

Pourtant cela ne se pas comme cela avec l'autre. Je récapitule l'interface
VB fonctionne. Je compile mon projet VB en un exe et le place parmi les
autres fichiers du projet VB
Ce qui donne :
monDossierProg
form.frm
projet.vbp
MONPROJET.EXE
etc.

Cet monProjet.exe fonctionne parfaitement bien.

Par contre lorsque je compile le projet (via visual studio Installer) pour
permettre son installation sur d'autres PC. Une fois installé le programme
pose le problème expliqué.

Même si je copie l'monProjet.exe du dossier de programmation et le colle
dans le dossier du logiciel à la place de ProjetInstallé.exe ça ne
fonctionne pas.



"Patrick JONIEC" news:
Sauf erreur de ma part, sous VB, l'appli est identifiée par le firewall
comme étant VB, et a donc accès à internet.
Par contre, une fois compilé, le firewall voit l'Exe par son vrai nom.
Pour être sûr que ça ne vient pas du firewall, il faudrait le désactiver,


et
voir comment ça se passe...

"Christian" news:482c9ccf$0$6524$
> Bonjour,
>
> Merci pour la réponse. Oui j'i un routeur et un firewall. Seulement,


cela
> ne
> peut venir de cela, puisque cela fonctionne à partir de l'exe qui se
> trouve
> dans le dossier de programmation et qui communique avec le site distant.
>
> En fait, après plusieurs test et recherche, je m'aperçois que pour une
> raison que j'ignore, le contrôle Inet se connecte bien au serveur mais


au
> moment de télécharger les fichiers, il y a comme une désynchronisation.
> A aucun moment (dans les exe se trouvant ailleurs que dans le dossier de
> programmation) Inet ne rentre dans la boucle StillExecuting
>
> Du coup, en schématisant Inet ferme la connexion lorsque le serveur


envoi
> son ordre pour dire ok j'attends ta demande...
>
> Maintenant, pourquoi ??
>
> Christian.
>
> "Dr John" >
>> Christian a émis l'idée suivante :
>> > Bonjour,
>> >
>> > J'ai terminé un petit programme d'upload de fichiers (via FTP). Pour


ce
>> > j'utilise le contrôle Inet.
>> >
>> > Tout ce passe bien lorsque je lance l'application à partir de VB,
> également
>> > avec l'exécutable (compilé par VB) qui se trouve dans le dossier où
>> > sont
>> > enregistrer les fichiers de VB et du programme (forms, modules etc.).
>> > Là
>> > encore nickel cela marche.
>> >
>> > J'utilise visual Studio Installer pour compiler le programme et


pouvoir
>> > l'installer. Tout se passe bien. J'ai bien tout les contrôles qui
> figurent
>> > dans le programme et notamment Inet.
>> >
>> > Mon programme lancé, ne me génère aucune erreur lorsqu'il upload les
>> > fichiers pourtant, ils n'arrivent pas à destination. Les chemins sont
> ok.
>> > Par contre si je loop sur mon adresse IP publique, l'upload se fait
> bien.
>> >
>> > J'y comprends rien !
>> >
>> > A l'aide s'il vous plaît.
>> > Christian.
>>
>> Le transfert sur ton ip publique reviens à faire un transfert sur ton
>> ip en local, ce qui veut dire que rien ne passe par internet. Les
>> données de partent pas pour revenir, elles restent chez toi. Donc si il
>> y a un pare-feu qui bloque la sortie tu ne peux pas le savoir. Je
>> suppose que tu as-tu essayé de faire de l'upload avec un client FTP
>> lambda ? As-tu un routeur sur ton réseau ?
>>
>>
>
>



Dr John
Le #15361151
Après mûre réflexion, Christian a écrit :

Pourtant cela ne se pas comme cela avec l'autre. Je récapitule l'interface
VB fonctionne. Je compile mon projet VB en un exe et le place parmi les
autres fichiers du projet VB
Ce qui donne :
monDossierProg
form.frm
projet.vbp
MONPROJET.EXE
etc.

Cet monProjet.exe fonctionne parfaitement bien.

Par contre lorsque je compile le projet (via visual studio Installer) pour
permettre son installation sur d'autres PC. Une fois installé le programme
pose le problème expliqué.

Même si je copie l'monProjet.exe du dossier de programmation et le colle
dans le dossier du logiciel à la place de ProjetInstallé.exe ça ne
fonctionne pas.




ça pourrait être un problème de chemin relatif. Fait afficher le nom
des fichiers à uploader ("ChemSource" ou Dest ) dans une fenetre de
debug, il manque peut être un slash ou un truc dans le genre.
Christian
Le #15361141
"Dr John"
Après mûre réflexion, Christian a écrit :

> Pourtant cela ne se pas comme cela avec l'autre. Je récapitule


l'interface
> VB fonctionne. Je compile mon projet VB en un exe et le place parmi les
> autres fichiers du projet VB
> Ce qui donne :
> monDossierProg
> form.frm
> projet.vbp
> MONPROJET.EXE
> etc.
>
> Cet monProjet.exe fonctionne parfaitement bien.
>
> Par contre lorsque je compile le projet (via visual studio Installer)


pour
> permettre son installation sur d'autres PC. Une fois installé le


programme
> pose le problème expliqué.
>
> Même si je copie l'monProjet.exe du dossier de programmation et le colle
> dans le dossier du logiciel à la place de ProjetInstallé.exe ça ne
> fonctionne pas.


ça pourrait être un problème de chemin relatif. Fait afficher le nom
des fichiers à uploader ("ChemSource" ou Dest ) dans une fenetre de
debug, il manque peut être un slash ou un truc dans le genre.





C'est la première chose que j'ai fait. Il n'y a rien à signaler, sauf que
c'est nickel.
Dr John
Le #15358931
Christian a utilisé son clavier pour écrire :

C'est la première chose que j'ai fait. Il n'y a rien à signaler, sauf que
c'est nickel.



Bon je sèche. Une dernière chose qui me vient à l'esprit est dans la
version des fichiers (DLL ou OCX) qui peut différer entre ton PC ou tu
programmes et les autres ou ton appli est déployée. Normalement le
SETUP met à jour ou propose mais il se peut qu'un fichier ne soit pas
inclus (genre inet.dll)
Christian
Le #15358101
Cela faisait partie des premières choses que j'ai regardé. En fait j'ai tout
ce qu'il faut, voici la liste des fichiers récupérés pour l'install :
COMCAT.MSM
COMDLG32.MSM
MSCOMCTL.MSM
MSVBVM50.DLL
MSVBVM60.MSM
MSINET.MSM
OLEAUT32.MSM

Le pire est que même déployé sur le pc où je programme (mais dans autre
dossier, programme file par exemple) cela ne marche pas...

C'est de la folie.

Christian.
"Dr John"
Christian a utilisé son clavier pour écrire :

> C'est la première chose que j'ai fait. Il n'y a rien à signaler, sauf


que
> c'est nickel.

Bon je sèche. Une dernière chose qui me vient à l'esprit est dans la
version des fichiers (DLL ou OCX) qui peut différer entre ton PC ou tu
programmes et les autres ou ton appli est déployée. Normalement le
SETUP met à jour ou propose mais il se peut qu'un fichier ne soit pas
inclus (genre inet.dll)




Dr John
Le #15358091
Christian avait écrit le 19/05/2008 :

Le pire est que même déployé sur le pc où je programme (mais dans autre
dossier, programme file par exemple) cela ne marche pas...

C'est de la folie.





Je pense qu'il faut que tu acceptes de partager tes sources pour qu'on
puisse tester.
Christian
Le #15358081
Voici la fonction qui envoi les fichiers :
Principal est le nom du formulaire sur lequel se trouve le contrôle Inet


Function envoi_Fichiers() As Boolean
Dim chemDestination As String
Dim Filename As String, dosImport2 As String, ChemSource As String
Dim Taille, i, J As Long
Dim Test As Variant

'
envoi_Fichiers = False 'initialise la fonction
'
' Ouvre une connexion sur le serveur FTP et envoi le fichier contenant les
infos
With Principal.Inet1
.AccessType = icDirect
.Protocol = icFTP
.RemoteHost = ChemFTP
.RemotePort = "21"
.UserName = userFTP
.Password = MdpFTP

Do While .StillExecuting
DoEvents
Loop

' Ouvre le dossier source et envoi son contenu sur le serveur
If Right(dosSource, 1) <> "" Then dosSource = dosSource & ""
Filename = Dir(dosSource, vbNormal)
i = 0
Do While Filename <> ""
DoEvents
If Filename If (GetAttr(dosSource & Filename) And vbDirectory) = vbNormal
Then
'
ChemSource = dosSource & Filename
chemDestination = "/" & dosFtp & "/" & Filename

DoEvents
.Execute , "PUT " & ChemSource & " " & chemDestination
DoEvents
ChemSource & " " & chemDestination
Do While .StillExecuting
DoEvents
Loop
DoEvents
Principal.ProgressBar.Value = i
DoEvents
i = i + 1
End If
End If
Filename = Dir
Loop
.Execute , "CLOSE" ' Fermeture de la connexion FTP
.Execute , "QUIT"
Do While .StillExecuting
DoEvents
Loop
envoi_Fichiers = True
End With

Exit Function

Christian.


"Dr John"
Christian avait écrit le 19/05/2008 :

> Le pire est que même déployé sur le pc où je programme (mais dans autre
> dossier, programme file par exemple) cela ne marche pas...
>
> C'est de la folie.
>


Je pense qu'il faut que tu acceptes de partager tes sources pour qu'on
puisse tester.




Publicité
Poster une réponse
Anonyme