使用XML自动更新
我有一些问题,找不到我的更新系统有什么问题。我正在使用XML文件。我尝试的是让应用程序读取xml文件进行更新(比如一些新闻系统),并在有新版本时获取更新应用程序。我在project使用XML自动更新,xml,vb.net,Xml,Vb.net,我有一些问题,找不到我的更新系统有什么问题。我正在使用XML文件。我尝试的是让应用程序读取xml文件进行更新(比如一些新闻系统),并在有新版本时获取更新应用程序。我在projectReadOnly\u reader的顶部添加了XmlReader=XmlReader.Create(“C:\launchnews.xml”)仍然更新系统不工作,但新闻系统工作 以下是它的代码: Public Sub AutoUpdate() Dim CurrentVersion As String = My.A
ReadOnly\u reader的顶部添加了XmlReader=XmlReader.Create(“C:\launchnews.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>
感谢您在整个更新过程中的耐心等待。
请详细解释“更新系统不工作”的含义。它以什么方式不起作用。预期结果是什么?实际结果是什么?预期结果在表单加载时显示textbox-MsgBox(ProgramName&“是旧版本”。&vbCrLf&“新更新可用”&&vbCrLf&“当前版本:”&CurrentVersion&vbCrLf&“可用版本:”&&GetVer&vbCrLf&vbCrLf&&“立即更新?”,vbYesNo,“更新”)
如果有新的更新,或显示-MsgBox(程序名和“是最新的”。&vbCrLf和“当前版本:”&CurrentVersion,0,“更新”)
如果根本没有更新。但我认为问题是它读取的.xml文件根本不正确。您知道如何使用调试器并逐步检查代码吗?不显示任何内容,应用程序启动,新闻加载,就是这样。它调用AutoUpdate方法吗?如果是,该方法中的哪些行被执行?