je viens à l'instant de poster ma question dans la partie VB tout court...
je n'avais pas vu cette section ! Aussi, je repose ma question dans la partie
appropriée...:
je réalise une application sous visual studio 2005, en VB.NET.
Cette application comporte un petit client FTP, qui va me servir, entre
autres, à mettre à jour mon application.
Pour cette partie, j'ai réalisé le client FTP avec les API FtpFindFirstFile,
FtpSetCurrentDirectory. Cela fonctionne très bien, et je parviens à faire du
download correctement.
Pour aller un peu plus loin, j'aimerai comparer la version des fichiers (dll
et exe) avant de commencer le download.
Pour ce faire, j'utilise le code suivant:
Dim fso
fso = CreateObject("Scripting.FileSystemObject")
temp = fso.GetFileVersion("c:\ma_dll.dll")
ce code fonctionne très bien en local, mais je ne parviens pas à obtenir la
version de la dll distante, avant download...
l'API :
Private Declare Function FtpFindFirstFile Lib "wininet" Alias
"FtpFindFirstFileA" (ByVal hFtpSession As Integer, ByVal lpszSearchFile As
String, ByRef lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Integer,
ByVal dwContext As Integer) As Integer
possède 5 arguments, et le 3e: "lpFindFileData" est une structure qui
récupère des infos sur le fichier à downloader (taille, ...) mais pas la
version...
Vu que tu dispose de .net 2, peut être serrait il préférable d'utiliser les possibilités du framework.
Sur la MSDN il y a un page dédiée aux classes FTP de .net 2: http://msdn.microsoft.com/en-us/library/ms229718.aspx
Il y a de fortes chances que tu y trouve ton bonheur. -- Jérémy JEANSON MCP http://jeremy.blogdns.net
Julius
Merci pour la réponse rapide !! J'ai jeté un oeil sur ces classes (system.Net, FtpWebRequest et FtpWebResponse). Pas la moindre trace d'une propriété pour obtenir une version d'exe ou de dll... des GetFileSize en veux tu en voilà!! Mais la taille, les dates (création, etc...) semblent être les seules propriétés gérées par les objets d'info sur les fichiers...
"Jérémy Jeanson" a écrit :
Bonjour Julius,
Vu que tu dispose de .net 2, peut être serrait il préférable d'utiliser les possibilités du framework.
Sur la MSDN il y a un page dédiée aux classes FTP de .net 2: http://msdn.microsoft.com/en-us/library/ms229718.aspx
Il y a de fortes chances que tu y trouve ton bonheur. -- Jérémy JEANSON MCP http://jeremy.blogdns.net
Merci pour la réponse rapide !!
J'ai jeté un oeil sur ces classes (system.Net, FtpWebRequest et
FtpWebResponse). Pas la moindre trace d'une propriété pour obtenir une
version d'exe ou de dll...
des GetFileSize en veux tu en voilà!! Mais la taille, les dates (création,
etc...) semblent être les seules propriétés gérées par les objets d'info sur
les fichiers...
"Jérémy Jeanson" a écrit :
Bonjour Julius,
Vu que tu dispose de .net 2, peut être serrait il préférable d'utiliser
les possibilités du framework.
Sur la MSDN il y a un page dédiée aux classes FTP de .net 2:
http://msdn.microsoft.com/en-us/library/ms229718.aspx
Il y a de fortes chances que tu y trouve ton bonheur.
--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net
Merci pour la réponse rapide !! J'ai jeté un oeil sur ces classes (system.Net, FtpWebRequest et FtpWebResponse). Pas la moindre trace d'une propriété pour obtenir une version d'exe ou de dll... des GetFileSize en veux tu en voilà!! Mais la taille, les dates (création, etc...) semblent être les seules propriétés gérées par les objets d'info sur les fichiers...
"Jérémy Jeanson" a écrit :
Bonjour Julius,
Vu que tu dispose de .net 2, peut être serrait il préférable d'utiliser les possibilités du framework.
Sur la MSDN il y a un page dédiée aux classes FTP de .net 2: http://msdn.microsoft.com/en-us/library/ms229718.aspx
Il y a de fortes chances que tu y trouve ton bonheur. -- Jérémy JEANSON MCP http://jeremy.blogdns.net
Patrice
Sauf erreur c'est généralement la date/taille qui sert à déterminer empiriquement si la version est la même. Eventuellement cette information pourrait éventuellement être stockée à part...
Le problème est que l'information de version étant dans le fichier, il faut lire le fichier pour avoir cette info ce qui donc ne sert plus à rien (plus le fait que c'est qq chose de particulier à tel ou tel format de fichier et non pas de général et encore moins entre des OS différents).
Voir par exemple : http://www.codeproject.com/KB/cs/FtpPublisher.aspx (en anglais)
"Every file entry in the configuration contains a path and a DateTime stamp for when that file was uploaded last. It decides to upload if the file has been modified since it last wrote the stamp. I chose this method instead of getting the DateTime from the FTP because I wanted these local files to be the master copies." donc stockage du chemin et de la date /heure du dernier téléchargement qui sert de base de comparaison pour savoir si le fichier sera à telécharger la prochaine fois...
-- Patrice
"Julius" a écrit dans le message de groupe de discussion :
Merci pour la réponse rapide !! J'ai jeté un oeil sur ces classes (system.Net, FtpWebRequest et FtpWebResponse). Pas la moindre trace d'une propriété pour obtenir une version d'exe ou de dll... des GetFileSize en veux tu en voilà!! Mais la taille, les dates (création, etc...) semblent être les seules propriétés gérées par les objets d'info sur les fichiers...
"Jérémy Jeanson" a écrit :
Bonjour Julius,
Vu que tu dispose de .net 2, peut être serrait il préférable d'utiliser les possibilités du framework.
Sur la MSDN il y a un page dédiée aux classes FTP de .net 2: http://msdn.microsoft.com/en-us/library/ms229718.aspx
Il y a de fortes chances que tu y trouve ton bonheur. -- Jérémy JEANSON MCP http://jeremy.blogdns.net
Sauf erreur c'est généralement la date/taille qui sert à déterminer
empiriquement si la version est la même. Eventuellement cette information
pourrait éventuellement être stockée à part...
Le problème est que l'information de version étant dans le fichier, il faut
lire le fichier pour avoir cette info ce qui donc ne sert plus à rien (plus
le fait que c'est qq chose de particulier à tel ou tel format de fichier et
non pas de général et encore moins entre des OS différents).
Voir par exemple :
http://www.codeproject.com/KB/cs/FtpPublisher.aspx (en anglais)
"Every file entry in the configuration contains a path and a DateTime stamp
for when that file was uploaded last. It decides to upload if the file has
been modified since it last wrote the stamp. I chose this method instead of
getting the DateTime from the FTP because I wanted these local files to be
the master copies." donc stockage du chemin et de la date /heure du dernier
téléchargement qui sert de base de comparaison pour savoir si le fichier
sera à telécharger la prochaine fois...
--
Patrice
"Julius" <Julius@discussions.microsoft.com> a écrit dans le message de
groupe de discussion : 1AB9679D-F74D-40B6-B098-A0F70FE8FF08@microsoft.com...
Merci pour la réponse rapide !!
J'ai jeté un oeil sur ces classes (system.Net, FtpWebRequest et
FtpWebResponse). Pas la moindre trace d'une propriété pour obtenir une
version d'exe ou de dll...
des GetFileSize en veux tu en voilà!! Mais la taille, les dates (création,
etc...) semblent être les seules propriétés gérées par les objets d'info
sur
les fichiers...
"Jérémy Jeanson" a écrit :
Bonjour Julius,
Vu que tu dispose de .net 2, peut être serrait il préférable d'utiliser
les possibilités du framework.
Sur la MSDN il y a un page dédiée aux classes FTP de .net 2:
http://msdn.microsoft.com/en-us/library/ms229718.aspx
Il y a de fortes chances que tu y trouve ton bonheur.
--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net
Sauf erreur c'est généralement la date/taille qui sert à déterminer empiriquement si la version est la même. Eventuellement cette information pourrait éventuellement être stockée à part...
Le problème est que l'information de version étant dans le fichier, il faut lire le fichier pour avoir cette info ce qui donc ne sert plus à rien (plus le fait que c'est qq chose de particulier à tel ou tel format de fichier et non pas de général et encore moins entre des OS différents).
Voir par exemple : http://www.codeproject.com/KB/cs/FtpPublisher.aspx (en anglais)
"Every file entry in the configuration contains a path and a DateTime stamp for when that file was uploaded last. It decides to upload if the file has been modified since it last wrote the stamp. I chose this method instead of getting the DateTime from the FTP because I wanted these local files to be the master copies." donc stockage du chemin et de la date /heure du dernier téléchargement qui sert de base de comparaison pour savoir si le fichier sera à telécharger la prochaine fois...
-- Patrice
"Julius" a écrit dans le message de groupe de discussion :
Merci pour la réponse rapide !! J'ai jeté un oeil sur ces classes (system.Net, FtpWebRequest et FtpWebResponse). Pas la moindre trace d'une propriété pour obtenir une version d'exe ou de dll... des GetFileSize en veux tu en voilà!! Mais la taille, les dates (création, etc...) semblent être les seules propriétés gérées par les objets d'info sur les fichiers...
"Jérémy Jeanson" a écrit :
Bonjour Julius,
Vu que tu dispose de .net 2, peut être serrait il préférable d'utiliser les possibilités du framework.
Sur la MSDN il y a un page dédiée aux classes FTP de .net 2: http://msdn.microsoft.com/en-us/library/ms229718.aspx
Il y a de fortes chances que tu y trouve ton bonheur. -- Jérémy JEANSON MCP http://jeremy.blogdns.net
Alex C.
On 2 déc, 13:32, "Patrice" <http://www.chez.com/scribe/> wrote:
Sauf erreur c'est généralement la date/taille qui sert à détermin er empiriquement si la version est la même. Eventuellement cette informati on pourrait éventuellement être stockée à part...
Le problème est que l'information de version étant dans le fichier, i l faut lire le fichier pour avoir cette info ce qui donc ne sert plus à rien ( plus le fait que c'est qq chose de particulier à tel ou tel format de fichie r et non pas de général et encore moins entre des OS différents).
Voir par exemple :http://www.codeproject.com/KB/cs/FtpPublisher.aspx(en a nglais)
"Every file entry in the configuration contains a path and a DateTime sta mp for when that file was uploaded last. It decides to upload if the file ha s been modified since it last wrote the stamp. I chose this method instead of getting the DateTime from the FTP because I wanted these local files to b e the master copies." donc stockage du chemin et de la date /heure du derni er téléchargement qui sert de base de comparaison pour savoir si le fich ier sera à telécharger la prochaine fois...
-- Patrice
"Julius" a écrit dans le message de groupe de discussion : ...
> Merci pour la réponse rapide !! > J'ai jeté un oeil sur ces classes (system.Net, FtpWebRequest et > FtpWebResponse). Pas la moindre trace d'une propriété pour obtenir une > version d'exe ou de dll... > des GetFileSize en veux tu en voilà!! Mais la taille, les dates (cr éation, > etc...) semblent être les seules propriétés gérées par les ob jets d'info > sur > les fichiers...
> "Jérémy Jeanson" a écrit :
>> Bonjour Julius,
>> Vu que tu dispose de .net 2, peut être serrait il préférable d'u tiliser >> les possibilités du framework.
>> Sur la MSDN il y a un page dédiée aux classes FTP de .net 2: >>http://msdn.microsoft.com/en-us/library/ms229718.aspx
>> Il y a de fortes chances que tu y trouve ton bonheur. >> -- >> Jérémy JEANSON >> MCP >>http://jeremy.blogdns.net
Bonjour,
Pour la vérification de nouvelle version de mes applications, j'utilise tout simplement une base de donnée. En gros : une table qui contient le nom de fichier, le nom de l'application rattachée à ce fichier et la version du fichier.
Une simple requête SQL permet rapidement de connaitre la dernière version :)
On 2 déc, 13:32, "Patrice" <http://www.chez.com/scribe/> wrote:
Sauf erreur c'est généralement la date/taille qui sert à détermin er
empiriquement si la version est la même. Eventuellement cette informati on
pourrait éventuellement être stockée à part...
Le problème est que l'information de version étant dans le fichier, i l faut
lire le fichier pour avoir cette info ce qui donc ne sert plus à rien ( plus
le fait que c'est qq chose de particulier à tel ou tel format de fichie r et
non pas de général et encore moins entre des OS différents).
Voir par exemple :http://www.codeproject.com/KB/cs/FtpPublisher.aspx(en a nglais)
"Every file entry in the configuration contains a path and a DateTime sta mp
for when that file was uploaded last. It decides to upload if the file ha s
been modified since it last wrote the stamp. I chose this method instead of
getting the DateTime from the FTP because I wanted these local files to b e
the master copies." donc stockage du chemin et de la date /heure du derni er
téléchargement qui sert de base de comparaison pour savoir si le fich ier
sera à telécharger la prochaine fois...
--
Patrice
"Julius" <Jul...@discussions.microsoft.com> a écrit dans le message de
groupe de discussion : 1AB9679D-F74D-40B6-B098-A0F70FE8F...@microsoft.com ...
> Merci pour la réponse rapide !!
> J'ai jeté un oeil sur ces classes (system.Net, FtpWebRequest et
> FtpWebResponse). Pas la moindre trace d'une propriété pour obtenir une
> version d'exe ou de dll...
> des GetFileSize en veux tu en voilà!! Mais la taille, les dates (cr éation,
> etc...) semblent être les seules propriétés gérées par les ob jets d'info
> sur
> les fichiers...
> "Jérémy Jeanson" a écrit :
>> Bonjour Julius,
>> Vu que tu dispose de .net 2, peut être serrait il préférable d'u tiliser
>> les possibilités du framework.
>> Sur la MSDN il y a un page dédiée aux classes FTP de .net 2:
>>http://msdn.microsoft.com/en-us/library/ms229718.aspx
>> Il y a de fortes chances que tu y trouve ton bonheur.
>> --
>> Jérémy JEANSON
>> MCP
>>http://jeremy.blogdns.net
Bonjour,
Pour la vérification de nouvelle version de mes applications,
j'utilise tout simplement une base de donnée. En gros : une table qui
contient le nom de fichier, le nom de l'application rattachée à ce
fichier et la version du fichier.
Une simple requête SQL permet rapidement de connaitre la dernière
version :)
On 2 déc, 13:32, "Patrice" <http://www.chez.com/scribe/> wrote:
Sauf erreur c'est généralement la date/taille qui sert à détermin er empiriquement si la version est la même. Eventuellement cette informati on pourrait éventuellement être stockée à part...
Le problème est que l'information de version étant dans le fichier, i l faut lire le fichier pour avoir cette info ce qui donc ne sert plus à rien ( plus le fait que c'est qq chose de particulier à tel ou tel format de fichie r et non pas de général et encore moins entre des OS différents).
Voir par exemple :http://www.codeproject.com/KB/cs/FtpPublisher.aspx(en a nglais)
"Every file entry in the configuration contains a path and a DateTime sta mp for when that file was uploaded last. It decides to upload if the file ha s been modified since it last wrote the stamp. I chose this method instead of getting the DateTime from the FTP because I wanted these local files to b e the master copies." donc stockage du chemin et de la date /heure du derni er téléchargement qui sert de base de comparaison pour savoir si le fich ier sera à telécharger la prochaine fois...
-- Patrice
"Julius" a écrit dans le message de groupe de discussion : ...
> Merci pour la réponse rapide !! > J'ai jeté un oeil sur ces classes (system.Net, FtpWebRequest et > FtpWebResponse). Pas la moindre trace d'une propriété pour obtenir une > version d'exe ou de dll... > des GetFileSize en veux tu en voilà!! Mais la taille, les dates (cr éation, > etc...) semblent être les seules propriétés gérées par les ob jets d'info > sur > les fichiers...
> "Jérémy Jeanson" a écrit :
>> Bonjour Julius,
>> Vu que tu dispose de .net 2, peut être serrait il préférable d'u tiliser >> les possibilités du framework.
>> Sur la MSDN il y a un page dédiée aux classes FTP de .net 2: >>http://msdn.microsoft.com/en-us/library/ms229718.aspx
>> Il y a de fortes chances que tu y trouve ton bonheur. >> -- >> Jérémy JEANSON >> MCP >>http://jeremy.blogdns.net
Bonjour,
Pour la vérification de nouvelle version de mes applications, j'utilise tout simplement une base de donnée. En gros : une table qui contient le nom de fichier, le nom de l'application rattachée à ce fichier et la version du fichier.
Une simple requête SQL permet rapidement de connaitre la dernière version :)