[URGENT] Mise à jour automatique du programme [Résolu]

Signaler
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
-
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
-
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


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
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

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à ^^
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
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).

@+

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
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

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 ?
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
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.
-------------------------------------------------------------------------------
Messages postés
215
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
2 août 2012

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)
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
Je cherche le code avec If,Else, ...
Rappel : je suis un débutant.
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

[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.
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

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.
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
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.
Messages postés
215
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
2 août 2012

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)
Messages postés
215
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
2 août 2012

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)
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
Ouais, peut être mais ça m'aide pas
Messages postés
215
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
2 août 2012

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)
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
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 ??
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

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.
Messages postés
215
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
2 août 2012

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)
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
Merci, le problème est que GetStringSourceFromOnlineFile est signalé comme une erreur.

Je suis en vb 2008.
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

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.