Я хочу осуществить в своей программе авто-обновление ClickOnce не подходит.
У меня есть идея сделать так:
залить *.htm документ с версией программы к себе на сайт, при запуске документ считывался в переменную, потом я проверял *математическое* выражение > (больше), если значение больше, то выводится сообщение, типа вышла новая версия. Код приблизительно такой:
- Код: Выделить всё
Public Class Form1
Dim Version As Integer = 1.1
Dim WebVersion As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
WebBrowser1.Visible = False
Button1.Text = "Обновить"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
If Button1.Text = "Обновить" Then
SaveFileDialog1.Filter = ("Программа|prog.exe")
SaveFileDialog1.FileName = ("prog.exe")
WebBrowser1.Navigate("Ссылка на страницу c версией программы")
Else
BackgroundWorker1.CancelAsync()
End If
End Sub
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As _
System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) _
Handles WebBrowser1.DocumentCompleted
WebVersion = WebBrowser1.DocumentText
If Val(WebVersion) > Val(Version) Then
Dim Msg
Msg = MsgBox("Вышла новая версия программы : " & WebVersion & Chr(13) _
& "Обновить сейчас?", MsgBoxStyle.Information Or MsgBoxStyle.YesNo, "Обновление")
If Msg = MsgBoxResult.Yes Then
SaveFileDialog1.ShowDialog()
End If
Else
MsgBox("Новых версий программы не обнаружено!", MsgBoxStyle.Information, "Обновление")
End If
End Sub
Private Sub SaveFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As _
System.ComponentModel.CancelEventArgs) Handles _
SaveFileDialog1.FileOk
BackgroundWorker1.RunWorkerAsync()
End Sub
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As _
System.ComponentModel.DoWorkEventArgs) Handles _
BackgroundWorker1.DoWork
If My.Computer.Network.Ping("Ссылка на обновленную версию", 100) = True Then
My.Computer.Network.DownloadFile _
("Ссылка на обновленную версию", SaveFileDialog1.FileName)
Button1.Text = "Остановить"
Else
MsgBox("Не удалось найти файл." & Chr(13) & _
"Пожалуйста, проверьте ваше интернет - соединение.", MsgBoxStyle.Exclamation, "Ошибка")
End If
End Sub
End Class
Вопрос следующий: Какой структуры должен быть htm файл и если не трудно проверьте код.
Спасибо.