Private Function IsConnectieBeschikbaar() As Boolean
Dim URL As New System.Uri("http://site.com/")'Hier je site
Dim WebAanvraag As System.Net.WebRequest = System.Net.WebRequest.Create(URL)
Dim WebReactie As System.Net.WebResponse
Try
WebReactie = WebAanvraag.GetResponse()
WebReactie.Close()
WebAanvraag = Nothing
Return True
Catch ex As Exception
WebAanvraag = Nothing
Return False
End Try
End Function
Private Sub FormLaden(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If IsConnectieBeschikbaar() = True Then
Dim naambestand As String = "naambestand.txt" 'Hier de naam van het bestand met de versies
Dim appname As String = My.Application.Info.AssemblyName.ToLower
Dim localappdatamap As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\MAPNAAM\" 'Hier de (tijdelijke) mapnaam
If IO.File.Exists(localappdatamap + naambestand) Then System.IO.File.Delete(localappdatamap + naambestand)
My.Computer.Network.DownloadFile("http://site.com/versies/" + naambestand, localappdatamap + naambestand)'Sitenaam
Dim str As String = readFile(localappdatamap + naambestand)
System.IO.File.Delete(localappdatamap + naambestand)
If (str <> My.Application.Info.Version.ToString) And str <> "" Then
Dim bericht = MessageBox.Show("Er is een nieuwe versie van " + appname + " beschikbaar: " + str + vbCr + "Wilt u deze nu installeren?", "Nieuwe versie beschikbaar", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
If bericht = Windows.Forms.DialogResult.Yes Then
If IO.File.Exists(localappdatamap + appname + ".exe") Then IO.File.Delete(localappdatamap + appname + ".exe")
My.Computer.Network.DownloadFile("http://site.com/attachments/" + appname + ".exe", localappdatamap + appname + ".exe")'Sitenaam
Process.Start(localappdatamap + appname + ".exe")
FORMS.Close()'naam van je forms
End If
End If
End If
End Sub
Public Function readFile(ByVal myPath As String) As String
Dim myReader As New System.IO.StreamReader(myPath)
Dim fullTxt As String = ""
If System.IO.File.Exists(myPath) Then
Do While myReader.Peek() <> -1 'lezen en 1 string maken
fullTxt = fullTxt & myReader.ReadLine() & vbNewLine
Loop
If fullTxt.Length > 1 Then fullTxt = Microsoft.VisualBasic.Left(fullTxt, fullTxt.Length - 2)
End If
myReader.Close()
Return fullTxt
End Function
'En voor het beste resultaat de installer zichzelf (het installatiebestand) laten verwijderen aan het eind van de sessie
'Voorwaarden hiervoor zijn dat de installer hetzelfde heet als de applicatie die je draait, en dat het een zelfstandige installer is (het programma dus niet nodig heeft).
'Als je alle setups en txtbestanden in dezelfde mappen zet (alle versie.txt bij elkaar in de map .../versies/ en alle installers bij elkaar in de map .../attachments/) op je site, dan ...
'...hoef je alleen maar de regel "Dim naambestand As String = "naambestand.txt"" te veranderen voor elk programma waarbij je het gebruikt