Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 04:32

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[VB]Halbwegs Professioneller Updater für eure Anwendungen

Discussion on [VB]Halbwegs Professioneller Updater für eure Anwendungen within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
DoctorPixl's Avatar
 
elite*gold: 0
Join Date: Sep 2011
Posts: 4
Received Thanks: 1
[VB]Halbwegs Professioneller Updater für eure Anwendungen

Guten Abend/Guten Morgen Elitepvpers Community

In diesem Tutorial möchte ich euch zeigen wie man einen recht guten Updater für eure Anwendungen Programmiert.

Wir brauchen:
1x Form
1x Label
1x ProgressBar
1xFTP Server (square7,ohost,bplaced,kilu. etc...

(Wichtig: Gestaltet die Form am besten klein, da wir den updater in eure Anwendungen einbinden müssen)

So

Diesen Code fügt ihr in die Form ein, aber ich bitte euch nicht einfach Copy&Paste zu betreiben.
Versucht den Code zu verstehen

Code:
Imports System.Net

Public Class Form1
    Private WithEvents httpclient As WebClient
    Dim pfad As String = Nothing
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Hide()
ShowDialog:
        SaveFileDialog1.ShowDialog()
        If SaveFileDialog1.FileName = Nothing Then
            GoTo ShowDialog
        End If
        pfad = SaveFileDialog1.FileName


        Try
            httpclient = New WebClient
            Dim URL As String = "" 'Hier kommt der Link zur Datei die immer geupdated werden soll
            Me.Show()
            Application.DoEvents()
            httpclient.DownloadFileAsync(New Uri(url), pfad)
            Application.DoEvents()

        Catch ex As Exception
            MsgBox("Es ist folgender Fehler aufgetreten:" & vbNewLine & ex.ToString, MsgBoxStyle.Critical, "Es ist ein Fehler aufgetreten")

        End Try

    End Sub



    Private Sub httpclient_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles httpclient.DownloadFileCompleted
        MsgBox("") 'Die nachricht die angezeigt werden soll,wenn das update fertig ist
        Process.Start(pfad)
        Me.Close()

    End Sub

    Private Sub httpclient_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles httpclient.DownloadProgressChanged
        Me.ProgressBar1.Value = e.ProgressPercentage
        Dim totalbytes As Double = e.TotalBytesToReceive
        Dim bytes As Double = e.BytesReceived
        Me.Label1.Text = bytes & " KB von " & totalbytes & "KB"

    End Sub
End Class

Nun brauchen wir noch den Code für eure Anwendung damit der Updater überhaupt sinn hat.

Dieser code kommt bei eurer Anwendung in die Form die als erstes gestartet wird(man kann es auch variabel machen, aber ich finde es so besser xP)

wie oben bereits gesagt kein reines copy&paste machen, sondern code verstehen

Code:
Dim VersionChecker As New System.Net.WebClient ' Erstellt eine neue Instanz von Webclient
        Dim ServerVersion As String = VersionChecker.DownloadString("euerftp\version.ini") 'Hier wird der Inhalt der Datei runtergeladen (zB. 1.1)
        Dim MeineVersion As String = Me.Label_v.Text ' Hier wird der Variable MeineVersion der Text von dem Label zugewiesen zB. 1.0

        If Not ServerVersion = MeineVersion Then
            MsgBox("Es ist eine Neuere Version von .. verfügbar,es wir nun Automatisch geupdatet", MsgBoxStyle.Information) 'text der kommt falls neue version vorhanden
            Shell(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\updater.exe")
            End
Ihr braucht ein Label namens:Label_v aber ihr könnt es auch umbennen wenn ihr wollt.
Und ein Label in der die Aktuelle Version steht,also zb 1.0 das is das besagte Label_v.text

Wie ihr dem Code eventuell bereits entlesen habt läuft das ganze über eine .ini die auf eurem ftp ist.
Falls in der ini 1.1 steht wird der updater automatisch updaten.
Falls in der ini 1.0 steht passiert nichts,also müsst ihr immer die V_Nummer in eurer Anwendung anpassen..


Okay, wir haben es fast geschafft, jetzt müssen wir nurnoch den updater in eure Anwendung einbinden

Das machen wir einfach so

Oben im Tooltip
Projekt/.... Eigentschaften/Ressourcen/Ressource Hinzufügen/Vorhandene Datei hinzufügen/updater auswählen.

Okay nun ist euer Updater startklar.
Ich hoffe ich konnte euch Helfen

Mfg:
-DoctorPixl
DoctorPixl is offline  
Thanks
1 User
Old 09/09/2011, 13:15   #2
 
Che's Avatar
 
elite*gold: 120
Join Date: Aug 2010
Posts: 7,448
Received Thanks: 2,756
Ach Mensch warum für jedes Thema 3 oder mehr Threads?



Um die beiden anderen Threads zu finden braucht man ned mal die SuFu vergewaltigen, dafür musste einfach nur die augen auf machen, wenn du in die Section gehst! Anstatt nen neuen Thread für jede Methode aufzumachen kannst du das doch auch als Antwort (= Post) in nen alten Thread haun, hab ich doch auch gemacht und mir hats auch ned wehgetan!
Che is offline  
Old 09/09/2011, 13:58   #3
 
Mr.Black.Data's Avatar
 
elite*gold: 25
Join Date: Jul 2010
Posts: 227
Received Thanks: 27
Nice Work

Isn guter Updater,ich füge den bei mir in den Post ein
Mr.Black.Data is offline  
Old 09/13/2011, 14:39   #4
 
elite*gold: 0
Join Date: May 2008
Posts: 132
Received Thanks: 120
kp, was daran professionell sein soll!
1. Su verwendest GoTo, gehts noch ? Jeder vernünftige Programmierer würde dich dafür schlagen.

2. Den SaveFilaDialog überprüft man anders !
Quote:
Dim sDialog As New SaveFileDialog
If sDialog.ShowDialog = Windows.Forms.DialogResult.OK Then

End If
3. Application.DoEvents() OMG !!! Schon mal was von Threading gehört ???

4. Was ist, wenn in der Datei eine geringere Version steht, dann wird trozdem geupdatet, z.B.:
In Datei steht version 0.3
Programm hat version 0.4
-> Programm lädt trozdem version 0.3 runter, obwohl es schon 0.4 ist.
krustx is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[VB.NET] Updater Für Eure Programme
04/21/2015 - Coding Tutorials - 19 Replies
Guten Tag/Guten Abend Elitepvpers. In Diesem Kleinem Tutorial möchte ich euch zeigen,wie ihr für eure Applications einen Simplen Updater machen Könnt. Viel Spaß beim nachmachen! ©Mr.Black.Data -Dieses Tutorial Darf weitergegeben werden Solange meine Credits Darin Enthalten sind! 1. FTP PROGRAMM: Könnt ihr euch aussuchen also zb (Filezilla,FlashFxP) Könnt ihr alle Müheloß bei Google Finden :)
[B]Anwendungen auf Win Root
05/25/2011 - elite*gold Trading - 1 Replies
Hallo, da ich einen Windows Root habe kann ich gegen bisschen e*g oder anderes z.B einen Bot laufen lassen. ogame Bot, Pennergame Bot oder andere. Wer Interesse hat einfach melde. Und dazu schreiben wieviel e*g für Tagen / Stunden
C++ Visual Studio Form Anwendungen
12/23/2010 - .NET Languages - 5 Replies
Hallo, es geht um folgendes, hab die C++ Grundlagen drauf und schon einiges mehr nun wollte ich mit den Form Anwendungen anfangen, das Problem ist ich kann unter onclick nicht den normalen Code reinschreiben um z.b einen Pointer zu ändern, liegt wahrscheinlich an MFC. Da muss man das wahrscheinlich irgendwie anders schreiben, gibts gute Tutorials dafür?Oder gibts doch einen weg den "normalen" C++ code dort zu posten. Z.b eine Messagebox gibt man dort MessageBox::Show("Bla","bla"); ...
CMD Anwendungen - Frage dazu !
12/06/2010 - General Coding - 4 Replies
Hallo, ich hab ein kleines Problem, welches eigentlich simpel zu lösen ist, dummerweise komm ich nur nicht drauf :D Folgendes ich habe ein Programm das auf eine CMD-Konsole Basiert bzw. damit gesteuert wird. Ich möchte mehrere Fenster davon starten, soweit kein Problem start cmd_ipcheck.exe So nun zum Problem damit das Programm startet müsste ich z.B. 1. 2. 3. etc. drücken damit die jeweilige Aufgabe gestartet wird. Nun würd ich das gerne so haben, das das Programm direkt mit Modus 1...
Win XP pro->begrenzte fenster/anwendungen
03/15/2008 - Technical Support - 14 Replies
hoi leutz ^^ mei xp lässt mi nur ~15 eigentli genau nur 15 fenster/anwendungen öffnen (nicht prozesse ^^) wenn i mehr als 15 öffnen will startet er das was i ausführen will erst gar ned oda es wird fehlerhaft angezeigt,bei mei anderen pc kann i aba genügend anwendungen starten...:confused: kann da wer helfen? ^^''



All times are GMT +1. The time now is 04:33.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.