Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 07:14

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


Brauche hilfe beim programmieren von updater

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Oct 2010
Posts: 43
Received Thanks: 2
Question Brauche hilfe beim programmieren von updater

Hey com

ich brauche dringend hilfe bei meinem updater für ein spiel.
ich will so ein updater machen wie bei z.b. World of Tanks.
das der nach updates sucht dann wen welche da sind runterläd und gleich da hin installiert wo es hin soll also in das game verzeichnis.
ich möchte eine progressbar haben und ein feld wo dann steht was bei dem update neu ist.
ich habe einen schon gemacht aber irgend wie geht das alles nicht ich hinterlege mal ein bild

und den code auch.

villeicht gibt es ja schon ein thema dazu oder ein tut wäre gut wenn ihr mir dann das zeigt.
(ich bin noch ein "anfänger" darin )
habe zwar schon ein bissel programmiert und so aber nicht sowas


Code:
Imports System.Net

Public Class Form1

    Private WithEvents wc1 As WebClient
    Private WithEvents wc2 As WebClient
    Dim lbl_progress As Object

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Button1.Text = "Suche..."
        Button1.Enabled = False
        update()
    End Sub


    Sub update()
        wc1 = New WebClient

        If wc1.DownloadString("") <> "1.0" Then
            MsgBox("Es werden Updates heruntergeladen", MsgBoxStyle.Information, "Update-Ergebnis")
            download("")
        Else
            MsgBox("keine updates vorhanden", MsgBoxStyle.Information, "update-Ergebnis")
            Button1.Enabled = True
            Button1.Text = "Nach Updates suchen"
        End If
    End Sub


    Sub download(ByVal url As String)
        wc2 = New WebClient
        wc2.DownloadFileAsync(New Uri(url), "My.Computer.Network.DownloadFile(path, Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "/" & version & "" & "version.txt")
    End Sub


    Private Sub wc2_donloadcompleted(ByVal sender As Object, ByVal w As System.ComponentModel.AsyncCompletedEventArgs) Handles wc2.DownloadFileCompleted
        MsgBox("Download abgeschlossen", MsgBoxStyle.Information, "Download")
        Button1.Enabled = True
        Button1.Text = "nach Updates suchen"
        pgb_progress.Visible = False
        lbl_progress.Visible = False

    End Sub

    Private Sub wc2_Downloadchanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles wc2.DownloadProgressChanged
        pgb_progress.Visible = True
        lbl_progress.Visible = True

        pgb_progress.Value = e.ProgressPercentage
        lbl_prgress.Text = e.ProgressPercentage.ToString & "%"

    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        End
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Process.Start("http://www.google.de")
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim Programm As Long
        Programm = Shell("notepad.exe", vbNormalFocus)
        End
    End Sub
End Class


das habe ich schon gemacht aber es soll ja automatisch instalieren und wenn noch kein game vorhanden ist das dann ausgesucht wird wohin das alles runtergeladen werden soll.


das rot umrandete ist wie es aussehen soll mit progressbar und % anzeige dadrüber soll dann stehen was neu ist im update.






Viele dank für eure hilfe.

lg vbcji



vbcji is offline  
Old 04/16/2013, 15:44   #2
 
elite*gold: 0
Join Date: Apr 2013
Posts: 22
Received Thanks: 17
Es gibt manche Programme (z.b. VLC-Mediaplayer oder FileZilla), wenn die ein Update durchführen wollen, wird die neue Setup-Anwendung runtergeladen und alles wird zusammen mit den Updates neu installiert.
Wenn du es so machen würdest, wäre es besser, solange die Game-Daten eine kleine Größe haben (z.b. zwischen 10-25 mb). Als Setup-Anwendung könntest du Programme like Nullsoft-Install-System benutzen. Nachteil ist du müsstest jeden Update eine neue Setup erstellen, was eigentlich nicht so schwierig ist.

Der Code für dein Update könnte dann ungefähr so aussehen:
Code:
Sub vUpdate()
	Dim web As New Net.WebClient
	If My.Computer.Network.IsAvailable = True Then
		Try
			If Not web.DownloadString("http://deineseite.com/update/neueversion.txt") = "1.1.0.1" Then
				If MsgBox("Do you want to download the latest version?", MsgBoxStyle.YesNo, "New version available!") = MsgBoxResult.Yes Then
					Try
						My.Computer.Network.DownloadFile("http://deineseite.com/neueversion/setup.exe", Application.StartupPath & "\New Version.exe", "", "", True, 500, True)
						MsgBox(web.DownloadString("http://deineseite.com/update/changelog.txt"))
						Process.Start(Application.StartupPath & "\New Version.exe")
						Me.Close()
					Catch ex As Exception
						MsgBox("Failed to download Updates!", MsgBoxStyle.Critical, "Error occured!")
					End Try
				End If
			End If
		Catch ex As Exception
			Exit Sub
		End Try
	End If
End Sub


»x« is offline  
Old 04/16/2013, 15:59   #3
 
elite*gold: 0
Join Date: Jan 2010
Posts: 62
Received Thanks: 18
Mal den Code von >>x<< kopiert und meinen Senf dazu gegeben.

PHP Code:
    Private Sub WC_DownloadProgressChanged(ByVal sender As ObjectByVal e As DownloadProgressChangedEventArgsHandles WC.DownloadProgressChanged
        ProgressBar1
.Value e.ProgressPercentage
        Me
.Label1.Text e.ProgressPercentage.ToString "%"
    
End Sub

    Dim WithEvents WC 
As New WebClient
    
Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        Me
.Label1.Visible True
        Me
.Label1.Text "0%"
        
vUpdate()
    
End Sub

Sub vUpdate
()
    
Dim web As New Net.WebClient
    
If My.Computer.Network.IsAvailable True Then
        
Try
            If 
Not web.DownloadString("http://deineseite.com/update/neueversion.txt") = "1.1.0.1" Then
                
If MsgBox("Do you want to download the latest version?"MsgBoxStyle.YesNo"New version available!") = MsgBoxResult.Yes Then
                    
Try
                        
My.Computer.Network.DownloadFile("http://deineseite.com/neueversion/setup.exe"Application.StartupPath "\New Version.exe"""""True500True)
                        
MsgBox(web.DownloadString("http://deineseite.com/update/changelog.txt"))
                        
Process.Start(Application.StartupPath "\New Version.exe")
                        
Me.Close()
                    Catch 
ex As Exception
                        MsgBox
("Failed to download Updates!"MsgBoxStyle.Critical"Error occured!")
                    
End Try
                
End If
            
End If
        Catch 
ex As Exception
            
Exit Sub
        End 
Try
    
End If
End Sub 
mKeey is offline  
Old 04/16/2013, 16:06   #4
 
elite*gold: 0
Join Date: Apr 2013
Posts: 22
Received Thanks: 17
@mKeey
Code:
My.Computer.Network.DownloadFile("http://deineseite.com/neueversion/setup.exe", Application.StartupPath & "\New Version.exe", "", "", [B]True[/B], 500, True)
Das erste True steht dafür, dass ein Progressbar angezeigt werden soll, während des Downloads (aber wahrscheinlich ohne Prozentangabe)
Trotzdem könnte man es auch so machen, wie du es geschrieben hast.


»x« is offline  
Old 04/16/2013, 16:08   #5
 
elite*gold: 0
Join Date: Jan 2010
Posts: 62
Received Thanks: 18
Hab das ganze eben schnell in 2 Minuten überflogen, deinen Code gesehen und mein Senf dazu abgegeben, im Nachhinein das durchlesen nochmal, sieht man das einiges von mir gar nicht gebraucht wird. Dennoch erfüllt beides seinen zweck.
mKeey is offline  
Old 04/16/2013, 16:21   #6
 
elite*gold: 0
Join Date: Oct 2010
Posts: 43
Received Thanks: 2
danke für die schnelle antwort
aber..
ich möchte das ich wen ich auf den button start gehe womit das spiel dann gestartet werden soll erst nach updates suchen soll dann wen updates da sind das er die automatisch gleich runterläd wen keine updates dann da sind das dann das spiel normal gestartet wird und ich weiß ja nicht wo die leute von meinem spiel den ordner hin packen also muss das programm ja irgend wie das automatisch installieren.
also bitte ein kleines tut machen oder erklären ich bin anfänger und weiß nicht richtig was ich damit anfangen soll

danke trotsdem für die hilfe

oder schickt ein link wo einer so ein updater schon gemacht hat und es da erklärt wie es geht.

lg vbcji
vbcji is offline  
Old 04/16/2013, 16:57   #7
 
elite*gold: 0
Join Date: Jan 2010
Posts: 62
Received Thanks: 18
Quote:
Originally Posted by »x« View Post

Das könnte dir vielleicht weiterhelfen, falls du Englisch kannst. Du könntest es erweitern und nach deiner Vorstellungen nach anpassen.
Sollte auch dieses nicht helfen, solltest du Dir ein Buch Kaufen im Wert von max. 50€, darin fängst du an zu lernen.
Man sollte mit den Knochen was man hingeworfen bekommt, ein Skelet daraus basteln können.

Ein Tipp, versuch mal vUpdate() in ein Button_Click Event zu machen und schau mal was dann passiert.
mKeey is offline  
Old 04/16/2013, 22:30   #8
 
elite*gold: 0
Join Date: Oct 2010
Posts: 43
Received Thanks: 2
ich will mir nicht extra ein buch dafür kaufen damit ich einen updater machen kann ich will nur das projeckt noch machen
..
also brauche ich lösungs beispiele
bitte

lg vbcji
vbcji is offline  
Old 04/17/2013, 07:27   #9
 
elite*gold: 0
Join Date: Jan 2010
Posts: 62
Received Thanks: 18
@»x«
Nein

@vbcji
Downloade Dir den Anhang, ändere das was du brauchst, hab Dir alles so einfach wie möglich gemacht. Du kannst die Textbox auch weg lassen und den Link direkt in den Code setzen.
Ändere / version.txt zu deiner Webadresse.

Du kannst das ganze noch schöner machen, wenn der Download fertig ist, soll er das ganze normal Starten und den Updater Beenden.

In dem Sinne viel Spaß damit.
Attached Files
File Type: rar updater.rar (83.4 KB, 9 views)


mKeey is offline  
Thanks
1 User
Closed Thread

Tags
hilfe, updater, visual basic 2010 express



« How to get rank | C# Programm Fenster verstecken »

Similar Threads
Bukkit Plugin programmieren - Brauche bei der Config Hilfe!
Hallo, ich bin dabei, ein Bukkit-Plugin zu schreiben. Ich habe in der YAML-Config beispielsweise zu stehen: Irgendwas: I: A: ...
3 Replies - Minecraft
[Brauche Hilfe]Brauche Hilfe beim einfügen der neuen Rüstungen
Brauche Hilfe! Hallo epvp. Ich habe mal ein paar Rüstungen gemoddet und dann wollte ich sie einfügen. Es hat fast alles geklappt und ich war recht...
3 Replies - Metin2 PServer - Discussions / Questions
Suche kleine hilfe beim Programmieren / Biete 40 EGold
Hi, ich habe vor ein Programm zu schreiben, komme aber nicht weiter:D VB 2010 Also, ich möchte, das man in einer Form folgene Dingne eingibt: ID,...
1 Replies - elite*gold Trading
[HiLFE]Beim programmieren mit vb
Habe mir mal gestern das einfachste Programmiert: Einen Pickupbot :P Und jezz will ich euch ma fragen zu paar scripts/codes die man in vb...
0 Replies - Metin2 Main - Discussions / Questions
brauche hilfe beim programmieren
Ich brauche hilfe beim Programmieren eines Bots (Openkore) wäre nett wenn mich jemand der sich dmit aus kennt in icq adden würde (205-327-167) mfg...
8 Replies - Ragnarok Online



All times are GMT +2. The time now is 07:14.


Powered by vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2018 elitepvpers All Rights Reserved.