ผมทำได้แล้วน่ะครับ
เปลี่ยนคำค้นหาจาก google ไปเรื่อยๆ จนเจอ
หาตั้งแต่ บ่ายโมงนิดๆของวันนี้
จนตอนนี้หาเจอแล้ว
Code (VB.NET)
Imports System.Net
Imports System.IO
Public Class Form1
'สำหรับเช็คเวอร์ชั่น
WithEvents webclient1 As New WebClient
'สำหรับดาวโหลดไฟล์ Update
WithEvents webclient2 As New WebClient
Dim oWrite As IO.StreamWriter
'#################################Config#################################
Dim urlUpdate As String = "http://127.0.0.1/Update/TV-HD-Online.exe" 'ลิงค์ URL ไฟล์ที่จะทำการอัพเดต
Dim LocalPro As String = "C:TVHD-OnlineTV-HD-Online.exe" ' ตำแหน่งที่ตั้งของไฟล์ที่จะอัพเดต
Dim iniPro As String = "C:TVHD-Onlinever.ini" 'ตำแหน่งไฟล์ ver.ini เพื่อเช็คเลขเวอร์ชั่นของโปรแกรม
Dim iniServer As String = "http://127.0.0.1/Update/ver.ini" 'URL ของไฟล์ ver.ini เพื่อเช็คเวอร์ชั่นใหม่
Dim Proname As String = "TV-HD-Online.exe" 'โปรแกรมที่จะสั่งให้เปิดเมื่อัพเดตเสร็จ
'#############################################################################
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim chkIPaddress As New Threading.Thread(AddressOf chkUpdate)
CheckForIllegalCrossThreadCalls = False
chkIPaddress.Start()
End Sub
Private Sub webclient2_DownloadProgressChanged(ByVal sender As
Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles
webclient2.DownloadProgressChanged
ProgressBar1.Maximum = e.TotalBytesToReceive
ProgressBar1.Value = e.BytesReceived
'แสดงเปอร์เซ็น
Label2.Text = e.ProgressPercentage & " %"
End Sub
Private Sub webclient2_DownloadFileCompleted(ByVal sender As Object,
ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles
webclient2.DownloadFileCompleted
' MsgBox("เสร็จ")
Process.Start(Proname)
Me.Close()
End Sub
Private Sub chkUpdate()
'อ่านเวอร์ชั่นที่โปรแกรม
Dim versionpro As String = webclient1.DownloadString(iniPro)
'อ่านเวอร์ชั่นที่ Server
Dim versionsite As String = webclient1.DownloadString(iniServer)
'ถ้าเวอร์ชั่นที่โปรแกรมกับ Server ไม่ตรงกัน
If versionsite <> versionpro Then
'ถ้าไม่ตรงให้เข้ามา Update
'เริ่มดาวโหลดไฟล์รูปแบบคือ (New Uri("ลิงค์ URL
ไฟล์ที่จะทำการอัพเดต"), "ที่อยู่ไฟล์ที่จะเข้าไปแทนที่
ใส่ชื่อไฟล์ลงไปด้วย")
webclient2.DownloadFileAsync(New Uri(urlUpdate), LocalPro)
'อัพเดตไฟล์ .ini
oWrite = New IO.StreamWriter(iniPro)
'เขียนไฟล์ ini ของโปรแกรมให้เท่ากับของ server
oWrite.Write(versionsite)
oWrite.Close()
Else
'ถ้าตรงไม่ต้อง
Label2.Text = "เวอร์ชั่นล่าสุดแล้ว"
Process.Start(Proname)
Me.Close()
End If
End Sub
End Class