منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف يتم الـ Automatically Update للتطبيق بشكل احترافي ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته ..
اسعد الله اوقاتكم وملأها بالطاعات ..

أحبتي لقد شاغلتني طريقة التحديث التلقائي لأي تطبيق يتم برمجته ! .. ولكن عملت بعض الخطوات التي سأسردها عليكم ولي بعض التعليقات وهي كالتالي :
قمت بعمل فورم 1 ( main ) ويوجد به Button1 فقط ، وفورم 2 ( Search ) ويوجد به فقط TonguerogressBar1 + Timer1، وفورم 3 ( Download ) يحتوي على :
RichTextBox1 + 2 Button .
العملية كالتالي :
الفورم الأول يتم الضغط على الـButton1 ليظهر فورم الفحص (Search) والذي من خلاله يتم البحث عن التحديثات فإن لم تتوفر تحديثات ظهرت رسالة مفادها : لا تتوفر تحديثات جديدة ، وإن كان هنالك تحديثات جديدة يتم عرض الفورم 3 ( Download ) وفي هذا الفورم يتم ظهور تفاصيل النسخة الجديدة في الـ RichTextBox1 بمعنى سيكون متصل بمستند نص عبر الاترنت ، والـ Button 1 عبارة عن زر تحميل النسخة برابط مباشر .. والـ Button 2 عبارة عن زر اغلاق الفورم .

تقريباً العملية ناجحة معي ولا توجد بها إشكالية ولكن لدي سؤال هام :
كيف أجعل التطبيق دوماً يقوم بالفحص عند تشغيل الفورم ( main ) دون ظهور أية اشكالات فإن توفرت نسخة جديدة مباشرة يتم عرض الفورم ( Download ) الذي به الخصائص والمميزات للنسخة ، وإن لم تتوفر نسخة جديدة لا تظهر رسالة "بأنه لا تتوفر نسخة جديدة " نهائياً .

من لديه خلفية فليفيدني في هذا الجانب .

وهذه الأكواد الخاصة بالـ Forms :
Form1 (main) Button1
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Search.Show()
    End Sub
Form2 (Search ) Timer1
كود :
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ProgressBar1.Increment(2)
        If ProgressBar1.Value = 100 Then
            Timer1.Stop()

            If ProgressBar1.Value = 100 Then
                Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("رابط المستند النصي")
                Dim response As System.Net.HttpWebResponse = request.GetResponse()

                Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())

                Dim newestversion As String = sr.ReadToEnd()
                Dim currentversion As String = Application.ProductVersion
                If newestversion.Contains(currentversion) Then
                    MsgBox("لا توجد تحديثات جديدة ", MsgBoxStyle.Information, "لا توجد تحديثات")
                    Me.Close()
                    Exit Sub
                Else
                    Download.Show()
                    Me.Hide()
                End If
            End If
        End If
    End Sub
كود :
Public Sub CheckForUpdates()
        If ProgressBar1.Value = 100 Then
            Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("رابط المستند النصي")
            Dim response As System.Net.HttpWebResponse = request.GetResponse()

            Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())

            Dim newestversion As String = sr.ReadToEnd()
            Dim currentversion As String = Application.ProductVersion
            If newestversion.Contains(currentversion) Then
                MsgBox("لا توجد تحديثات جديدة", MsgBoxStyle.Information, "لا توجد تحديثات")
                Me.Close()
                Exit Sub

            Else
                Download.Show()
                Me.Hide()
            End If
        End If
    End Sub
Form3 (Download ) Button1
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Process.Start("رابط التحميل المباشر للتطبيق")
    End Sub
Form3 (Download ) Button2
كود :
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
    End Sub
Form3 (Download ) RichTextBox1
كود :
Private Sub Download_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        On Error Resume Next
        Dim address As String = "رابط مستند التفاصيل الجديدة"
        Dim client As WebClient = New WebClient()
        Dim reader As StreamReader = (New StreamReader(client.OpenRead(address)))
        RichTextBox1.Text = reader.ReadToEnd
    End Sub


اعتذر عن الإطالة ولكم خالص تحياتي .