Titel sagt alles...
weiß einer wie das geht?
Hilfe wäre nett!
Titel sagt alles...
weiß einer wie das geht?
Hilfe wäre nett!
[FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="2"]Is eig ganz einfach.
Als erstes brauchste ne Versionsnummer, mach die am besten gleich in Source rein.
Dann bauste dir meinetwegen ne MySQL Tabelle wo die Info drin is oder, was ich eher sagen würde, ne datei mit ner Struktur die du dir ausdenkst.
Beim start vom Prog die Datei laden, nachschaun ob die Version höher bzw anders is als die alte (evtl vll dafür sorgen dass es auch wirklich ne neue version is indem du die versionsnummer im tool splittest usw, wie auch immer)
Sollte was neues vorliegen, so brauchste nur hinzugehn und dem nutzer zu melden, es wäre ein Update da.
wenn ers bejaht, beende das aktuelle programm und starte nen updater, damit du auch deine richtigen programmdateien dann updaten kannst (einfach runterladen und überschreiben)
So sollte deine Updatefunktion gehn, wies im Code aussieht hab ich selber keine ahnung, da ich sowas in C#/VB bzw generell in .NEt noch nich gemacht hab und mir dazu die Methoden nicht bekannt sind.
Daher kann ich dir leider keinen VB Code geben.[/SIZE][/COLOR][/FONT]
[FONT="Trebuchet MS"][COLOR="LemonChiffon"][SIZE="2"]
Dim AktuelleVersionsNummer As String = "1"
Dim wclient As New Net.WebClient
Dim VersionsNummer As String = wclient.DownloadString("http://www.meinWebspace.de/version.txt")
If VersionsNummer <> AktuelleVersionsNummer Then
Update()
End If
Ist ein bisschen schlampig mit dem String kann man auch als integer definieren.[/SIZE][/COLOR][/FONT]
naja ist gut aber warum so schwer
mach doch die Versions nummer deklaration gleich so
man mimmt einfach
ein StatusStrip1 dazu haut man einfach
ToolStripStatusLabel1
code Kann wie folgt aussehen
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ToolStripStatusLabel1.Text = "App Version: " & Application.ProductVersion
Checkversion()
End Sub
bild zum Code
so um die version zuvergleichen
Private Sub Checkversion()
Dim httpclient As New WebClient
Dim newversion As String = httpclient.DownloadString("link zu deiner versions.txt")
If ToolStripStatusLabel1.Text > newversion Then
'Verbinung zum Private Sub des Updaters
MsgBox("Neu version")
End If
End Sub
bild zum 2 code
ich denke das sollte sich alles von Allein Klären :)
die Versions nummer kannste ändern unter
deine App -> eintellung->Anwendung->Assemblyinfomation
deine Version text sollte so ca aus sehen
1.0.3.0
und schon hast du denn vergleich fertig ^^
Fast vergessen
über form1
Imports System.Net
der updater muss als extra exe geschrieben werden die z.b. in die resseurcen des programmes kommt
dann kommt in die update version dieser code:
If My.Application.Info.Version.ToString = New Net.WebClient().DownloadString("Adresse zu einer trextdatei in der die vedrsion steht z.b. http://lol.de/version.txt die den text 1.0.0.0 enthält") Then
If MessageBox.Show("Neue version verfügbar Download?", "Neue Version", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.Yes Then
Shell(My.Application.Info.DirectoryPath + "\Name des update programmes " + Application.ExecutablePath + " Download Link der neuen datei", AppWinStyle.NormalFocus)
End If
End If
dann in das update programm
Module Module1
Friend WithEvents web As New Net.WebClient
Sub Main()
IO.File.Delete(My.Application.CommandLineArgs(0))
web.DownloadFileAsync(New Uri(My.Application.CommandLineArgs(1)), My.Application.CommandLineArgs(0))
Shell(My.Application.CommandLineArgs(0))
End Sub
Sub Progress(ByVal sender As Object, ByVal e As Net.DownloadProgressChangedEventArgs) Handles web.DownloadProgressChanged
Console.WriteLine("Download: " + e.ProgressPercentage.ToString + "%")
End Sub
End Module
Alles anzeigen
Danke wers mal Testen :D
[FONT="Trebuchet MS"][COLOR="LemonChiffon"][SIZE="2"]Finde euren Code sehr umständlich.
Deshalb hab ich auch mal was geschrieben:
Hauptprogramm.exe (Komm in das Form_Load Event)
Dim wc As New WebClient
Dim actualversion As String = wc.DownloadData("Http://meinWebspace.de/update.txt")
If actualversion <> "1.0" Then
Process.Start("Update.exe")
End If
MessageBox.show("Es wird ein Update ausgeführt.")
Update.exe (Consolen-Anwendung)
File.Delete("Hauptprogramm.exe")
Console.WriteLine("Die Alte Version wurde gelöscht!")
My.Computer.Network.DownloadFile("http://meinWebspace.de/Hauptprogramm.exe", "Hauptprogramm.exe", "Benutzername", "Passwort")
Console.WriteLine("Erfolgreich Geupdatet!")
Console.WriteLIne("Starte neue Version beim Druck von Enter!")
Console.Readkey()
Process.Start("Hauptprogramm.exe")
Wenn man jetzt eine neue Versions seines Programmes rausbringen möchte schreibt man in die Zeile
anstatt "1.0" -> "2.0".
Auch die Versionsnummer in der txt.-Datei muss angepasst werden.
Hab das ganze ausm Kopf geschrieben,
könnten Fehler drin sein.[/SIZE][/COLOR][/FONT]
finde Fixed seine beschreibung am besten Thanks !
naja fixed
du Änderst 1 zahl und die TXT datei
Ich änder auch nur laut meinem Code oben auch nur 1 zahel und die txt datei
also denke ich nehmen sie die beiden versionen ob deins oder meins nicht al zuviel
einer kommt mit deiner version klar
andere mit meiner
Und mit meiner version komme ich perfekt klar
denn sehe ich wenigsten selber bei welcher version ich stehe
deine version ist gut
edit ich habe ja nur die Version vergleichung gepostet
da ich meinen Updater noch nicht fertig habe damit er perfekt arbeitet
mit Progressbar und son zeug alles
wenn ich erlich finde finde ich alle gut sind alle einfach ich guck ma an welche ich benutze Danke trozdem an alle :)
nun ja bei meiner version hat man den meisten frei raum zum ändern
das update programm kann wo ganz anders liegen und auch der download link kann sich ändern aber mein code lässt sich durch ein paar zeilen anpassen
ihr geht davon aus es gibt nur einen download link und der updater liegt im gleichen ordner
man kann den updater auch zuerst von der wabspace ins tmp verzeichnis downloaden und dann ausführen
bei meiner version kein problem
SChwarzeSeeIe
deiner ist einfach zu umständlich mit dem strip
Fixed
deiner ist zu fest gelegt auf den dll und er updatet automatisch selbst wein keine inet verbindung da ist löscht er die datei und wenn man kein update will weil einfach kein inet da ist dann hat man kein programm mehr
ausserdem nerft downloadfile bei mehr als5 mb files weil einfach das programm einfirert
Zitat von ichbinniemand;187578Alles anzeigennun ja bei meiner version hat man den meisten frei raum zum ändern
das update programm kann wo ganz anders liegen und auch der download link kann sich ändern aber mein code lässt sich durch ein paar zeilen anpassen
ihr geht davon aus es gibt nur einen download link und der updater liegt im gleichen ordner
man kann den updater auch zuerst von der wabspace ins tmp verzeichnis downloaden und dann ausführen
bei meiner version kein problemSChwarzeSeeIe
deiner ist einfach zu umständlich mit dem stripFixed
deiner ist zu fest gelegt auf den dll und er updatet automatisch selbst wein keine inet verbindung da ist löscht er die datei und wenn man kein update will weil einfach kein inet da ist dann hat man kein programm mehr
ausserdem nerft downloadfile bei mehr als5 mb files weil einfach das programm einfirert
bei dir kommt ein fehler help <.<
Hier:
Module Module1
pls help <.<
das ist der komplette code für das projekt
erstelle ein neues projekt vom type consolen anwendung und lösch alles und kopier meinen code rein
kann mir wer über TV helfen das einzurichten :D?
Wäre sehr nett einfach pn..
Was bekommst du denn nicht hin?
Am besten sollte dir das keiner per TV einrichten, du sollst es ja lernen lol xD
Edit: Es gibt doch massig TuT´s darüber O.O
danke werde mir das gleich ma angucken :D
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!