いくつかの問題が発生しています。更新システムの問題を特定できません。XMLファイルを使用しています。私がしようとしているのは、アプリケーションに更新用のxmlファイルを読み取らせ(ニュースシステムなど)、新しいバージョンがある場合はアプリケーションを更新させることです。プロジェクトの上に既に追加しましたReadOnly _reader As XmlReader = XmlReader.Create("C:\launchernews.xml")
まだ更新システムは機能しませんが、ニュースシステムは機能します。
これがそのコードです:
Public Sub AutoUpdate()
Dim CurrentVersion As String = My.Application.Info.Version.ToString '--- Change this to Current version, needs changing on every update
Dim ProgramName As String '--- Change this to Your Progran Name
Dim GetVer, GetVerLink As String
Dim GetUpd As Integer
Using _reader
While _reader.Read()
' Check for start elements.
If _reader.IsStartElement() Then
If _reader.Name = "application" Then
Dim attribute As String = _reader("name")
If attribute IsNot Nothing Then
ProgramName = attribute
End If
' Text data.
If _reader.Name = "version" Then
Dim version As String = _reader("name")
If version IsNot Nothing Then
GetVer = version
If _reader.Read() Then
GetVerLink = _reader.Value.Trim()
End If
End If
End If
End If
End If
If GetVer > CurrentVersion Then
GetUpd = MsgBox(ProgramName & " is an old version." & vbCrLf & "New Update is available" & _
vbCrLf & "Current version: " & CurrentVersion & vbCrLf & "Version Avalible: " & _
GetVer & vbCrLf & vbCrLf & "Update Now?", vbYesNo, "Update")
If GetUpd = vbYes Then
Dim sfd As New SaveFileDialog
sfd.FileName = IO.Path.GetFileName(GetVerLink)
If sfd.ShowDialog = True Then
My.Computer.Network.DownloadFile(GetVerLink, sfd.FileName)
End If
End If
Else
MsgBox(ProgramName & " is upto date." & vbCrLf & "Current version: " & CurrentVersion, 0, "Update")
End If
End While
End Using
End Sub
XML ファイルは次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<Launcher>
<news name="Latest Updates">
We thank you for your patience throughout this update.
</news>
<application name="Launcher">
<version name="1.0.0.0">
</version>
</application>
</Launcher>