[URGENT] Mise à jour automatique du programme

Résolu
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 - 10 mai 2010 à 19:02
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 - 11 mai 2010 à 21:51
Bonjour,

J'ai crée un utilitaire de gestion de mise à jour pour mon appli mais j'aimerais le lancer depuis mon appli lorsque j'ai terminé une nouvelle version.

Le problème est que je ne sais pas quand choisir le moment pour l'ouvrir.

Il y a t-il un moyen de lancer cet utilitaire à un moment donné ?

J'ai pensé de l'ouvrir lorsque une URL d'un site (que j'aurais crée) existe...

Mais comment écrire le code pour que si http://monsite.fr existe alors cet utilitaire s'ouvre ??

C'est très important pour mon projet, qui sera plus tard commercial.

Je débute en vb, merci d'avance pour votre aide :)

25 réponses

Utilisateur anonyme
11 mai 2010 à 21:32
bonsoir,
excusez-moi de revenir sur ce post mais je me permet de re proposer ma solution puisqu'il s'agit de tester uniquement si le site existe ou pas :

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'création de l'élément WebRequest
        Dim test As Net.WebRequest = Net.WebRequest.Create("http://monsite.com")
        Try
            'tentative de lecture
            Dim r As Net.WebResponse = test.GetResponse
        Catch ex As Net.WebException
            'erreur de lecture --> le site n'existe pas (on sors de la procédure)
            MsgBox("Le site n'existe pas!")
            Exit Sub
        End Try
        'le site existe (on affiche Form5)
        Dim nouvellefenetre As Form5 = New Form5
        nouvellefenetre.Show()
        nouvellefenetre.BringToFront()
    End Sub
3
Sinsitrus Messages postés 855 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
10 mai 2010 à 19:27
Salut !

Oui il y a une solution.

Envois un fichier .txt avec la nouvelle version sur une page précise de ton site :
ex: www.tonsite/tondossier/version.txt
Met dedans la nouvelle valeur de ta version

Demande à ton appli qu'au load, qu'il lise la ligne de ce fichier et si la différence est supérieur à ta version d'origine, alors active le bouton "Télécharger la mise à jour"
Au clic du bouton, télécharge le fichier :
ex: www.tonsite/tondossier/tonprog.rar

et voilà ^^
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
10 mai 2010 à 19:43
Ouais, merci mais ce que je cherche c'est du code

En faite, ta solution est pas mal, mais trop compliquée pour mon niveau de débutant.

Je cherche la traduction français/Visual Basic de cette phrase :

Si http://monsite.fr est une URL qui existe alors (après je connais la suite).

@+
0
Utilisateur anonyme
10 mai 2010 à 22:06
bonsoir,
tu peux par exemple tester si le site existe de cette façon :
Dim test As Net.WebRequest = Net.WebRequest.Create("http://www.vbfranceerreur.fr")
        Try
            Dim r As Net.WebResponse = test.GetResponse
        Catch ex As Net.WebException
            MsgBox(ex.Message)
        End Try


a bientôt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sinsitrus Messages postés 855 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
11 mai 2010 à 10:22
Moi j'utilise plutot cette ligne :
Label = GetStringSourceFromOnlineFile("http://monsite.com/Logiciels/Dossier/Version.txt")

Il affiche au load le numéro de série à jour.
Vu que tu as déjà un site et que tu le connais, alors pourquoi chercher à savoir si le site est un site ?
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
11 mai 2010 à 17:31
Merci pour vos réponses c'est sympat.

Mais je suis un débutant et je sais pas trop comment adapter ces codes à ma solution.

Il faudrait que dès que mon formulaire principal s'ouvre (form1) si l'URL http://ovix.fr/version173 existe alors l'utilitaire (form5) s'ouvre et si cette URL n'existe pas alors rien ce passe.

Pouvez-vous refaire le code complet svp.

Un dernier coup de main les amis
Merci encore.

-------------------------------------------------------------------------------
Pour répondre à la question de Sinsitrus : je pense que c'est le moyen le plus simple pour que quand je le souhaite la form5 s'ouvre.
Il me suffit juste de créer l'URL adéquate.
-------------------------------------------------------------------------------
0
lediablo Messages postés 215 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 2 août 2012
11 mai 2010 à 17:38
salut
sinsitrus ta déja donné la réponse : Label = GetStringSourceFromOnlineFile("http://monsite.com/Logiciels/Dossier/Version.txt")

Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
11 mai 2010 à 17:40
Je cherche le code avec If,Else, ...
Rappel : je suis un débutant.
0
Sinsitrus Messages postés 855 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
11 mai 2010 à 17:51
[quote=aus3004]Si http://monsite.fr est une URL qui existe alors (après je connais la suite). /quote

Tu utilise trop de form pour cette option.
Juste un bouton, 2 labels et une form :

Private Sub Form_Load()
Label1 = App.Major & "." & App.Minor & "." & App.Revision
Label2 = GetStringSourceFromOnlineFile("http://monsite.com/Logiciels/Dossier/Version.txt")

If Label1 < Label2 Then
MsgBox "Votre version de logiciel n'est pas à jour."
Bouton1.Enabled = True
Else
MsgBox "Votre installation est à jour"
Bouton1.Enabled = False
End If
End Sub


Puis dans un module, ajoute ce que je t'envoie en message privé.
Ça devrait suffire à résoudre ton problème ;)

PS: Si le problème est résolu, veuille accepter la réponse et valider.
0
Sinsitrus Messages postés 855 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
11 mai 2010 à 17:59
Je sais lediablo, mais soyons souvent indulgent. J'ai moi aussi galéré pour avoir des réponses claires... comme lui et j'en fini pas :p

Je ne remercierai jamais assez PCPT, Renfield, DarkSidious, Exploreur, jmfmarques pour leur aide et leur patience pour m'avoir formé en quelque sorte et enseigné le peux que je sais.
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
11 mai 2010 à 18:05
Désolé mais je comprend rien à tout ça, à mon avis ya un problème de compréhension.

Je m'explique :

Je développe actuellement un projet nommé Ovix.exe
La form principale est form1

Dans ce projet il y a form5 qui est une pop-up qui affiche une alert signifiant la présence de mise à jour avec un lien pour la télécharger, etc.

Mon problème est qu'il faut que je programme depuis Internet l'ouverture de ce form5.

Dans votre code il y a des labels et msgbox alors que j'en ai aucune utilité.

Le code que je demande est tout con :
If http://ovix.fr/version173 est une URL existante Then Form5 s'ouvre
End if

Désolé d'avoir été impressi.
0
lediablo Messages postés 215 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 2 août 2012
11 mai 2010 à 18:21
hé ouii j'ai déjà galéré comme vous lol
je les remercie tous aussi pour leur soutient et aide et surtout Renfield qui ma vraiment beaucoup appris.


Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
0
lediablo Messages postés 215 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 2 août 2012
11 mai 2010 à 18:28
c'est simple tu teste sur le code retour que tu a,
qu'est ce qu'elle contient ta page ?
exemple ta page contient "NOUVELLE MISE A JOUR DISPONIBLE : 1.5"
comme sa tu utilise le code que Sinsitrus ta fourni pour voir si ses mot la existe "NOUVELLE MISE A JOUR DISPONIBLE" dans la réponse que tu a.
exemple:
dans form_load tu ajoute ce code:
dim a as string
a = GetStringSourceFromOnlineFile("http://ovix.fr/version173")
If InStr(a, "NOUVELLE MISE A JOUR DISPONIBLE", CompareMethod.Text) > 0 Then
form5.show
End If

Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
11 mai 2010 à 18:30
Ouais, peut être mais ça m'aide pas
0
lediablo Messages postés 215 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 2 août 2012
11 mai 2010 à 18:33
un lienqui pourra t'aider


Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
11 mai 2010 à 18:33
Oups ! Ma réponse d'avant à eu un retard.

Sinon pour ce code c'est justement ça que je cherche mais :
je dois faire une page web avec un certain texte, et l'appli compare tout le texte de la page web pour voir si il correspond au texte écrit dans le code.

C'est ça ??
0
Sinsitrus Messages postés 855 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
11 mai 2010 à 18:36
Rassure toi qu'a l'ouverture de ton appli, le load sert à ça, il scanne directement déjà si la connexion internet existe, si oui, il lis la ligne de texte que tu as dans ton Version.txt qui est en ligne (là où tu insère les mises à jour : ex: 1.0.5)

Dis à ta form1, au load, que :
If form5.Label2 > Form5.Label1 Then
Form5.show
Else
'Rien
End If


Et fait ce que je t'ai dis plus haut.
0
lediablo Messages postés 215 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 2 août 2012
11 mai 2010 à 18:41
oui tu dois tout simplement mettre un texte dans ton fichier et faire la comparaison
si "vbfrance" est_dans text_dans_page alors on_a_une_connexion_et_il_y_a_une_mise_a_jour fin_si


Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
11 mai 2010 à 18:45
Merci, le problème est que GetStringSourceFromOnlineFile est signalé comme une erreur.

Je suis en vb 2008.
0
Sinsitrus Messages postés 855 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
11 mai 2010 à 18:50
Dis moi, tu lis les réponses au complet aus3004 ?
Je t'ai dis que je t'envoie le module à mettre en message privé... va donc voir ta boite de message vbfrance !

Si le problème est réglé, valide le sujet.
0