0

いくつかの問題が発生しています。更新システムの問題を特定できません。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>
4

0 に答える 0