| |

VB.NET - Ein- und UmsteigerInstallierte Version einer Anwendung ersetzen | |  | Autor: Doofi | Datum: 28.02.11 17:13 |
| Moin Forum,
Ich habe eine VB.Net anwendung (MS-VS2008) die im Internet nach einem Update sucht und wenn vorhanden, dieses runterlädt (als Archiv).
Wird jetzt das Archiv entpackt und möchte man die Anwendung installieren, erkennt das Programm eine vorhandene Version.
1. Wie kann ich es nun anstellen, das bei vorhandensein einer älteren Version diese mit der neuen ersetzt wird?
2. Wie kann ich eine Datei, die über die installationsroutine mit erstellt wurde, bei der Deinstallation behalten, bzw fragen, ob sie bei der deinstallation gelöscht werden soll?
Danke schonmal für Eure Tipps....
Wer sich das mal anschauen möchte (aber nicht enttäuscht sein, ist echt ein Anfänger-Produkt):
http://ddevils.bplaced.net/include.php?path=download&contentid=50
Sorry, noch vergessen:
Meine Update-Routine sieht so aus:
Imports System.Net
Public Class frmVersion
Dim DatGroesse As String = ""
Dim url As String = "http://ddevils.bplaced.net/turnierplaner/"
Dim Pfad As String = "turnierplaner_v"
Dim ver_akt As String = Application.ProductVersion.Substring(0, 1)
Dim ver_neu As String = ""
Private WithEvents httpClient As WebClient
Private Sub frmVersion_Load(ByVal sender As Object, ByVal e As _
System.EventArgs) Handles Me.Load
Try
If IsURLAvail(url) Then
ver_neu = ReadServerFile(url & "/version.txt")
txtAkt.Text = Application.ProductVersion
txtNeu.Text = ver_neu
If (CInt(ver_neu.Substring(0, 1)) > CInt(ver_akt)) Then
Pfad = Pfad & ver_neu.Substring(0, 1) & ".zip"
Button1.Enabled = True
Else
lblHinw.Text = "Ihr Produkt ist auf dem neuesten Stand!"
lblHinw.Visible = True
Exit Sub
End If
Else
lblHinw.Text = "Die angeforderte Web-Seite ist momentan nicht" & _
"erreichbar..."
lblHinw.Visible = True
Exit Sub
End If
Catch ex As Exception
Exit Sub
End Try
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Button1.Click
lblProgress.Text = "0 KB"
ProgressBar1.Value = 0
ProgressBar1.Maximum = 100
If System.IO.Directory.Exists(Environment.GetFolderPath( _
Environment.SpecialFolder.Personal) & "\Turniere") = False Then
System.IO.Directory.CreateDirectory(Environment.GetFolderPath( _
Environment.SpecialFolder.Personal) & "\Turniere")
End If
Dim SaveN As String = Environment.GetFolderPath( _
Environment.SpecialFolder.Personal) & "\Turniere"
httpClient = New WebClient
Dim sURL As String = url & Pfad
Dim sLocalFile As String = SaveN & "\" & Pfad
Button1.Enabled = False
Try
httpClient.DownloadFileAsync(New Uri(sURL), sLocalFile)
lblProgress.Visible = True
ProgressBar1.Visible = True
Catch ex As Exception
MsgBox("Fehler!" & vbCrLf & ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
Private Sub httpClient_DownloadFileCompleted(ByVal sender As Object, ByVal _
e As System.ComponentModel.AsyncCompletedEventArgs) Handles _
httpClient.DownloadFileCompleted
MsgBox("Download erfolgreich durchgeführt!", MsgBoxStyle.Information)
lblHinw.Text = "Das Archiv wurde unter " & Environment.GetFolderPath( _
Environment.SpecialFolder.Personal) & "\Turniere abgespeichert." & _
vbCrLf & "Entpacken Sie es und lesen Sie zur Installation die" & _
"readme.txt"
lblHinw.Visible = True
ProgressBar1.Visible = False
lblProgress.Visible = False
Button1.Enabled = False
End Sub
Private Sub httpClient_DownloadProgressChanged(ByVal sender As Object, _
ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles _
httpClient.DownloadProgressChanged
With ProgressBar1
.Value = e.ProgressPercentage
Dim TotalBytes As Long = e.TotalBytesToReceive / 1024
Dim Bytes As Long = e.BytesReceived / 1024
If TotalBytes < 1 Then TotalBytes = 1
If Bytes < 1 Then Bytes = 1
lblProgress.Text = Bytes.ToString & " KB von " & _
TotalBytes.ToString & " KB"
End With
End Sub ~ no brain, no headache ~
Beitrag wurde zuletzt am 28.02.11 um 17:21:19 editiert. |  |
 Installierte Version einer Anwendung ersetzen | 1.068 | Doofi | 28.02.11 17:13 |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|