Updater Automatique

Dizibox29 - 4 mars 2013 à 17:40
rackamlerouge Messages postés 13 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 7 octobre 2013 - 7 oct. 2013 à 15:05
Bonjour,
J'aimerais créer un "updater automatique", je m'explique quand on lance le updater il vérifie automatiquement si il y a une mise a jour à faire ou non et si il y a une mise a jour alors grisé le bouton de lancement de mon application et faire la mise à jour avec un ProgessBar.
J'ai chercher sur le net je trouve quelque solution mais rien qui m'aide à avancé car en plus je ne sais pas du tout codé en VB mais je pense que c'est la solution la plus facile et rapide.
D'après se que j'ai pu voir sur le net ça serais de mettre sur mon site un fichier texte avec la dernière version et le updater comparer les versions pour faire oui ou non les mises à jours.
Je pense que je vais apprendre le Visual Basic mais pour l'instant ça m’intéresse pas de le faire que pour ce fameux updater
Donc si quelqu'un peut m'aider à le réaliser ça m’avancerais dans mon travail et je vous promet que j'y mettrais du mien !

1 réponse

rackamlerouge Messages postés 13 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 7 octobre 2013 1
7 oct. 2013 à 15:05
Faire un Updater automatique ou Mise à jour Automatique en VB.net :

Voici trois fonctions et procédures qui peuvent répondre à la question. Sachant qu'il faut mettre l'adresse du fichier à télécharger à la place de "http://..." et définir un espace qui accueille le fichier télécharger sur le disque dur. Ainsi que définir la taille en octet du fichier à télécharger. C'est le changement de taille du fichier à télécharger, qui détermine le changement de version ! C'est en VB.Net. Cà ne lance pas l'installation de la nouvelle version... Dernière précision "Patience.close" est une boite de dialogue (un "Form" (Formulaire)) qui contient un message demandant à l'utilisateur de patientez.

J'espère que cela aidera !

Private Sub telecharge_nvll_version()
        Dim REMOTE_URL As String = "" ' adresse de la page ou du fichier à récuperer
        Dim F As Integer = FreeFile()
        Dim WEB_CLIENT As New System.Net.WebClient() 'Création du controle client
        Dim DNL_FILE As String = Application.StartupPath + ".......exe" 'Adresse de reception

        REMOTE_URL = "http://.........exe"
        Try
            WEB_CLIENT.DownloadFile(REMOTE_URL, DNL_FILE) 'Téléchargement
        Catch ex As Exception ' S'il y a une erreur alors
            MsgBox(ex.Message) 'afficher l'erreur dans une Message Box
        End Try

        Patience.Close()
        MsgBox("Nouveau fichier télécharger dans :" + Chr(13) + Chr(13) + Application.StartupPath, MsgBoxStyle.OkOnly, "Terminé")
    End Sub

    Private Sub propose_chgt_verion()
        Dim reponse As String

        If test_version() Then
            Patience.Close()
            MsgBox("Votre version est à jour", MsgBoxStyle.OkOnly, "Version à jour")
        Else
            reponse = MsgBox("Votre version n'est pas à jour." + Chr(13) + "Voulez-vous la mettre à jour ? (O/N)", MsgBoxStyle.YesNo, "Version pas à jour")
            If reponse = vbYes Then
                telecharge_nvll_version()
            End If
        End If
    End Sub


    Private Function test_version() As Boolean
        Dim FileSize As Integer
        Dim adresse As String = ""
        'http
        Dim Request As System.Net.WebRequest
        Dim Response As System.Net.WebResponse

        adresse = "http://...................exe"
        Request = Net.WebRequest.Create(adresse)
        Request.Method = Net.WebRequestMethods.Http.Head
        Try
            Response = Request.GetResponse
        Catch ex As Exception ' S'il y a une erreur alors
            MsgBox(ex.Message) 'affichier l'erreur dans une Message Box
            Return False
            Exit Function
        End Try
        FileSize = Response.ContentLength
        If FileSize = 719672 Then '=xxxxxx à changer à chaque version
            Return True ' version identique
        Else
            Return False 'version différente
        End If
    End Function
0
Rejoignez-nous