vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Installierte 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.

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Installierte Version einer Anwendung ersetzen1.068Doofi28.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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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