Ich hab gesehen in google und so gibts viele Tutorials zum Updater.
Aber ich hab eine Ftp Webiste(Kilu.de Bplaced.net) und da geh ich mit Filezilla rauf und schiebe die Updater.txt rein.
Aber die Updater.txt Ladet sich ja nicht in temp runter oder?
Aber das ist ja nicht mal meine Frage...
Ich will einen Updater erstellen und ihn in meinem Programm einbauen...
Mein Problem ist ja wie schon gesagt wegen den FTP Websiten...
FileZilla Updater.txt ...
Also auf klar Text:
Ich will einen Updater machen für mein Programm.
In dem Programm soll der Updater sein auf einem Button...
Aber erstmal will ich nur wissen wie man einen Updater macht...
mit FTP
In meinem Programm " hab ich das so gelöst, dass das Hauptprogramm bei jedem start geschaut hat, ob der Updater existiert, wenn nicht, läd es ihn herunter. Außerdem hat das Hauptprogramm getestet ob die aktuellste Version installiert ist, wenn nicht, wird der Updater gestartet.
Hier ein auszug aus dem Code:
Code:
Func WSUpdate()
$Hcounter = InetRead("http://weaponsettings.1x.net/Counter/counter.php")
Run(@ScriptDir & "\WSUpdater.exe")
If @error <> 0 Then
$DLMesg = MsgBox(0, "Info", "Sie haben keinen Updater für dieses Programm" & @CRLF & "Soll der Updater jetzt geladen werden?")
If $DLMesg = 1 Then
WSUpdaterUpdate()
Run(@ScriptDir & "\WSUpdater.exe")
EndIf
EndIf
Exit
EndFunc ;==>WSUpdate
Code:
Func WSUpdaterUpdate()
$hDownload = InetGet("http://weaponsettings.1x.net/WeaponSettings/Client/WSUpdater.exe", @ScriptDir & "\WSUpdater.exeN", 1, 1)
If @error Then
_log("Error during download")
MsgBox(1, "Error", "Error: " & @error)
EndIf
Do
Sleep(250)
$nBytes = InetGetInfo($hDownload, 1)
Until InetGetInfo($hDownload, 2)
_log("Downloading: " & InetGetInfo($hDownload, 0))
_log($nBytes & "Bytes downloaded")
_log("Download complete")
FileDelete(@ScriptDir & "\WSUpdater.exe")
FileMove(@ScriptDir & "\WSUpdater.exeN", @ScriptDir & "\WSUpdater.exe")
IniWrite(@ScriptDir & "\WSFiles\UserInfo.ini", "UpdaterInfo", "Version", $UVersion)
If @error Then
_log("Error")
EndIf
_log("Download complete")
EndFunc ;==>WSUpdaterUpdate
Code:
unc VersCheck();Checkt die WS und WSUpdater Version
LMess()
$Version = ReadFromIni("WSInfo", "Version", 0)
$Uvers = ReadFromIni("UpdaterInfo", "Version", 0)
$UVersion = _INetGetSource("http://weaponsettings.1x.net/WeaponSettings/update/Uvers.txt")
If Not ($UVersion == $Uvers) Then
$MBox = MsgBox(4, "Info", "Sie haben nicht den aktuellsten 'WSUpdater'." & @CRLF & "Soll die Version. " & $UVersion & "geladen werden?")
If $MBox = 6 Then
WSUpdaterUpdate()
EndIf
EndIf
$aVersion = _INetGetSource("http://weaponsettings.1x.net/WeaponSettings/update/WSVersion.txt")
If $Version = $aVersion Then
Sleep(99)
Else
$ID = MsgBox(1, "Update", "Es steht ein Update für 'WeaponSettings' bereit!" & @CRLF & "Updaten?")
If $ID = 1 Then
WSUpdate()
EndIf
EndIf
EndFunc ;==>VersCheck
Naja kopieren solltest du es nicht In der Uvers.txt stand "1.1" oder so drinn, also die Version des Updaters.
In WSVersion.txt steht die Version des Hauptprogramms.
Wenn du eine neue Version hast, musst du sie nur auf den FTP Server legen, Uvers.txt und WSVersion.txt anpassen und schon updated das Programm beim Clienten.
Aber wie soll ich das machen bin anfänger von autoit xD
ich will auch nen auto updater wo dann anfrage kommt willst du das updaten beim Programm start also ohne button oder so ...
Wusste nicht das es auto update gibt^^
Also wenn ich das programm starte soll frage kommen Update herunterladen? ja oder nein sowas wie If $Variable ElseIf Else... weist du Ja und nein
$Version = ReadFromIni("WSInfo", "Version", 0) ;liest aus einer Ini die aktuelle Version des Programms
$Uvers = ReadFromIni("UpdaterInfo", "Version", 0) ;liest aus einer Ini die aktuelle Version des Updaters
$UVersion = _INetGetSource("http://weaponsettings.1x.net/WeaponSettings/update/Uvers.txt") ;ließt die aktuellste online version
If Not ($UVersion == $Uvers) Then ; wenn sie nicht gleich sind dann
$MBox = MsgBox(4, "Info", "Sie haben nicht den aktuellsten 'WSUpdater'." & @CRLF & "Soll die Version. " & $UVersion & "geladen werden?") ; kommt diese Msgbox
If $MBox = 6 Then ; wenn die msg mit "ja" angeklickt wird dann
WSUpdaterUpdate() ; updater update
EndIf
EndIf
$aVersion = _INetGetSource("http://weaponsettings.1x.net/WeaponSettings/update/WSVersion.txt") ; aktuellste programm version online wird ausgelesen
If $Version = $aVersion Then ; wenn sie gleich sind, dann
Sleep(99) ; nix
Else ; ansonsten
$ID = MsgBox(1, "Update", "Es steht ein Update für 'WeaponSettings' bereit!" & @CRLF & "Updaten?") ; msg mit dieser frage
If $ID = 1 Then ; wenn sie mit ok beantwortet wird, dann
WSUpdate() ; update
EndIf
EndIf
EndFunc ;==>VersCheck
lad die datei auf seite xyz hoch, vergleich die version wie ich oben gezeigt habe mit einer internen, und lad die datei dann mit InetGet('xyz/datei')...
Wieso nicht FTP? Wenn man es trotzdem über Inetget laden kann?
Bei Kilu hat man gleich ne Domain dazu, über die man dann den FTP Inhalt über den Browser laden kann.
Wenn man aber ohne Daten auf die Files zugreifen kann? Und das ist bei Kilu der fall Da kann man dann einfach über ne Domain (bsp. domain1.1x.biz) auf die Ordner zugreifen.
hast du dir den beitrag von Snivel mal angeschaut?
wenn hier tatsächlich empfolen wird, über ftp befehele ein update zu machen, muss man die user ja darauf hinweisen, das dies die absolut schlechteste mögliche wahl wäre, das problem zu lösen.
das was du dort die ganze zeit beschreibst, ist doch genau der weg den ich erklärt habe.
die updater datei besteht eig nur aus zwei zeilen:
und das file macht eben den versionscheck, und führt bei update das update aus.
Code:
$version = 1337
If BinaryToString(InetRead('Meine-Website.ruleZ/version.txt'))<>$version Then Update()
Func Update()
Run('Update.exe')
Exit
Endfunc
mehr als diese 7 zeilen braucht man nicht zum updaten...
einziges eventuell notweniges extra wären updates, welche nur mit bestimmten userdaten möglich sind.
aber auch dies erledigt man nicht über ftp befehle, sondern über ein auf dem server befindliches php script.
hast du dir den beitrag von Snivel mal angeschaut?
wenn hier tatsächlich empfolen wird, über ftp befehele ein update zu machen, muss man die user ja darauf hinweisen, das dies die absolut schlechteste mögliche wahl wäre, das problem zu lösen.
das was du dort die ganze zeit beschreibst, ist doch genau der weg den ich erklärt habe.
die updater datei besteht eig nur aus zwei zeilen:
und das file macht eben den versionscheck, und führt bei update das update aus.
Code:
$version = 1337
If BinaryToString(InetRead('Meine-Website.ruleZ/version.txt'))<>$version Then Update()
Func Update()
Run('Update.exe')
Exit
Endfunc
mehr als diese 7 zeilen braucht man nicht zum updaten...
einziges eventuell notweniges extra wären updates, welche nur mit bestimmten userdaten möglich sind.
aber auch dies erledigt man nicht über ftp befehle, sondern über ein auf dem server befindliches php script.
Achso, ja. Nur der User hat im ersten Post ja schon geschrieben, dass er es mit Kilu lösen will. Deshalb hab ich mir Snivels Post garnicht angeschaut
Mein Past ist ja ziemlich das gleiche, nur für mehrere Programme und mit einer Msgbox, die nachfrägt, ob ein Update erwünscht ist.
Der eigene Updater *frage* 02/18/2011 - Shaiya Private Server - 1 Replies Guten morgen alle zusammen,
ich habe mir für einige liebe User einen P-Server erstellt.
Ich möchte jetzt nun den Updater in angriff nehmen, dazu habe ich folgende fragen.
Wie bearbeite ich den?
Wie ziehe ich mit dem denn Updates :D
Man kennt es ja von De oder anderen P-servern wenn die was gemacht haben .. das der Updater dann ein kurzes Update zieht und alles ist drauf. kann ja nicht jedes mal nen neuen Client zum download bereit stellen.
[FRAGE]VB auslesen einer Patchlist für Updater 02/14/2011 - .NET Languages - 3 Replies Ich bin gerade dabei einen Patcher zu machen und ich möchte nun folgendes:
Ich habs schon mit webclient versucht und klappt alles auch wunderbar doch er soll ja mehrere datein downloaden. Deswegen hab ich was anderes gemacht:
ProgressBar1.Value = "2"
TextBox1.Text = "DATEINAME wird geprüft."
If My.Computer.FileSystem.FileExists("DATEINAME& quot;) Then
My.Computer.FileSystem.DeleteFile("DATEINAME& quot;)
TextBox1.Text = "DATEINAME wurde gelöscht."
...
[Frage] Updater Modden?! 11/24/2010 - WarRock - 6 Replies Hi E*pvp,
ich würde gerne wissen wie man den Updater moddet...
Danke schonmal,
SB
[FRAGE]Updater in Batch 11/19/2010 - General Coding - 3 Replies Wäre es möglich Datein auf einem FTP-Server per Batch herunterladen zu lassen? Wenn ja wie?
Danke
Hab ne Frage zum UPDATER SUCHE HILFE 06/19/2010 - WarRock - 12 Replies Also Gestern hat der updater garnix angezeigt noch losttemple
und wenn ich auf gedrückt habe ist nichts passiert
heute war dann ddas bild von WM daa :D aber rechts steht:
05.05.2010 Pay Safe Card Website Issues
20.04.2010 War Rock Clan Warfare Closed Beta 1
16.04.2010 Lost Temple Videowettbewerb!