Hallo Leute!
In dieser "How to" wird gezeigt, wie ihr ganz einfach eine UpdateFunktion mit AutoIt erstellen könnt.
Einmal mit Appserv und einmal mit FileZilla. Der Unterschied zu FileZilla ist, dass FileZilla ein Webspaceserver ist und immer online ist. Appserv jedoch ist so wie PC zu PC, d. h. nur wenn der PC online ist und der andere User mit dem Computer (mit Hamachi) in Verbindung stehen müsst, kann der User das Update herunterladen.
Inhaltsverzeichnis:
1. Downloads
2. Installationen
2.1 Appserv
2.2 FileZilla
3. Der Script-Code
4. Updater via localhost (Appserv)
5. Updater via FTP-Client (FileZilla)
6. Update im neuen Ordner patchen
7. Schlusswort
Installationen:
Appserv:
Spoiler anzeigen
Folgende Einstellungen übernehmen:
InstallationsOrdner = C:\Appserv
Apache HTTP Server = Häckchen
MySQL Database = Häckchen
PHP Hypertext Preprocessor = Häckchen
phpMyAdmin = Häckchen
Server Name = root
Email Adresse = irgendeine
Passwort = individuelles Passwort
Und am Ende bei Start Apache und Start MySQL auch Häckchen machen!
FileZilla:
Spoiler anzeigen
Der Script-Code:
Es werden immer Schritt für Schritt Teile des Scriptes erklärt und am Ende nocheinmal das Gesamte.
Der erste Teil:
Zunächst wird die update.txt im Ordner gelöscht, indem sich das Programm befindet, wenn sich diese existiert. Danach downloadet das Programm mit dem Befehl InetGet die neue Update.txt. In dieser .txt steht die Versionnummer, zum Beispiel 1.0.0.2. Der Befehl, dass die Update.txt geöffnet wird, wird mit der Variable $file gekürzt. Ebenfalls auch der Befehl, das diese beiden verglichen werden. Jetzt wird überprüft ob die Versionnummer, mit der Versionnummer der Settings.ini übereinstimmt, wenn diese übereinstimmen oder nicht übereinstimmen, kommt im nächsten Scriptteil. Falls die Settings.ini nicht existiert wird ein Update erfolgen, weil dort keine Versionnummer angegeben ist und 0 = 1.0.0.2 ist nicht identisch.
Dort steht einfach, wenn die identisch sind, dann soll die Update.txt geschlossen werden, danach gelöscht werden und ein MessangeBox soll erscheinen mit dem Titel Keine neue Version und dem etxt Es gibt kein Update.
Alles anzeigen
Wenn diese aber nicht übereinstimmen dann soll eine Messangebox uns darauf hinweisen, das ein Update verfügbar ist. Man wird gefragt, ob man Downloaden möchte, klickt man nein, passiert nichts, klickt man ja dann wird die neue Datei runtergeladen. und die Settings.ini mit der neuen Versionnummer wird erstellt. Dann wird die Update.txt geschlossen und gelöscht. Jetzt erscheint nur noch eine Messangebox, dass das Programm heruntergeladen worden ist.
Und hier ist nochmal der Gesamtcode:
Alles anzeigen
Updater via localhost:
Zunächst einmal suchen wir unseren Ordner Appserv in C:\ und öffnen den Ordner. Öffnen dann den Ordner www. Dort sieht man 3 Ordner und 2 .php Dateien. Man kann alles löschen außer den Ordner Appserv und cgi-bin. Erstellt nun in den Ordner www ein .txt Dokument mit den Namen Update und schreibt dort die versionnummer an: 1.0.0.2 Mehr nicht!
Nun kopiert euer Programm in den www Ordner. Falls ihr dann eine neue Version eures Programms habt, ändert ihr in der Update.txt die Nummer in 1.0.0.3 und so weiter. Und ersetzt das eurer Programm mit dem neuen.
Jetzt nurnoch folgende Zeilen verändern:
in:
und:
in:
Jetzt können aber nur du darauf zugreifen, den 127.0.0.1 = localhost = mein PC. Installiert Hamachi und änder zu Die User die Updaten wollen, müssen in ein von dir erstelltes Hamachi-Netzwerk und du musst online sein, damit die es downloaden können!
Updater via FTP-Client:
Ihr braucht einen Webspaceserver, dazu könnt ihr euch bei kilu.de anmelden, es ist völlig kostenlos. Jedoch solltet ihr keine richige Adresse und etc angeben. Die Emailadresse muss richtig sein, weil dort das Passwort gesendet wird.
Wenn ihr euch eingeloggt habt befolgt die 4. Schritte:




Jetzt startet FileZilla und gibt euere Daten dort ein, Port könnt ihr freilassen:

Wenn ihr verbunden seid, klickt auf den www Ordner und zieht Update.txt und euer Programm einfach dort rein. Jetzt muss man nurnoch die Befehle InetGet ändern:
in:
und:
in:
Hier noch mal ein Beispiel, wie es aussehen könnte:
Programm im neuen Ordner patchen:
Um das Programm in einen neuen Ordner zu patchen, schauen wir uns folgende Zeilen einmal an:
Jetzt schreiben wir einfach zwischen den Befehlen Tooltip und InetGet den Befehl DirCreate hin, so:
Jetzt müssen wir noch noch den Patchpfad bei InetGet ändern:
Schlusswort
Das wars, falls ihr Fragen habt, stellt diese im Thread. Credits gehen an mich und Killerzwerg829, ich habe den Script-Code von ihm ein bisschen verändert. Damit dieser einfacher für euch ist. Im Anhang ist noch ein kleines Programm mit der Updatefunktion, näheres steht in der .txt die dabei ist.
Die Tutorial ist ganz von mir allein geschrieben!
In dieser "How to" wird gezeigt, wie ihr ganz einfach eine UpdateFunktion mit AutoIt erstellen könnt.
Einmal mit Appserv und einmal mit FileZilla. Der Unterschied zu FileZilla ist, dass FileZilla ein Webspaceserver ist und immer online ist. Appserv jedoch ist so wie PC zu PC, d. h. nur wenn der PC online ist und der andere User mit dem Computer (mit Hamachi) in Verbindung stehen müsst, kann der User das Update herunterladen.
Inhaltsverzeichnis:
1. Downloads
2. Installationen
2.1 Appserv
2.2 FileZilla
3. Der Script-Code
4. Updater via localhost (Appserv)
5. Updater via FTP-Client (FileZilla)
6. Update im neuen Ordner patchen
7. Schlusswort
Installationen:
Appserv:
Folgende Einstellungen übernehmen:
InstallationsOrdner = C:\Appserv
Apache HTTP Server = Häckchen
MySQL Database = Häckchen
PHP Hypertext Preprocessor = Häckchen
phpMyAdmin = Häckchen
Server Name = root
Email Adresse = irgendeine
Passwort = individuelles Passwort
Und am Ende bei Start Apache und Start MySQL auch Häckchen machen!
FileZilla:
Ganz normal installieren, es gibt keine wichtigen Einstellungen.
Der Script-Code:
Es werden immer Schritt für Schritt Teile des Scriptes erklärt und am Ende nocheinmal das Gesamte.
Der erste Teil:
PHP-Quellcode
- $msgbox = MsgBox(36, "Update!", "Es ist ein neues Update verfügbar! Downloaden?")
- If $msgbox = 6 Then
- Tooltip("Update wird runtergeladen... bitte warten....")
- InetGet("siehe 4. und 5.",@scriptDir&"\" & "DATEINAME", 1, 0)
- IniWrite("settings.ini", "Info", "Version", $ver_server)
- FileClose($file)
- FileDelete(@ScriptDir & "update.txt")
- Tooltip("")
- msgbox(0,"Update", "Das Programm wurde heruntergeladen! Danke fürs downloaden!")
- EndIf
- EndIF
Und hier ist nochmal der Gesamtcode:
PHP-Quellcode
- FileDelete(@TempDir & "\update.txt")
- InetGet("Siehe 4. und 5.",@TempDir & "\update.txt", 1, 0)
- $file = FileOpen(@TempDir & "\update.txt", 0)
- $ver_server = FileReadLine($file, 1)
- $ver_pc = IniRead("Settings.ini", "Info", "Version","")
- If $ver_server = $ver_pc or $ver_server = "" Then
- FileClose($file)
- FileDelete(@TempDir & "\update.txt")
- msgbox(0, "Keine neue Version","Es gibt kein Update!")
- Else
- $msgbox = MsgBox(36, "Update!", "Es ist ein neues Update verfügbar! Es wird die neuere Version gedownloadet." & @CRLF & "Sie können die alte Version löschen! Downloaden?")
- If $msgbox = 6 Then
- Tooltip("Update wird runtergeladen... bitte warten....")
- InetGet("siehe 4. und 5.",@scriptDir&"\" & "DATEINAME", 1, 0)
- IniWrite("settings.ini", "Info", "Version", $ver_server)
- FileClose($file)
- FileDelete(@ScriptDir & "update.txt")
- Tooltip("")
- msgbox(0,"Update", "Das Programm wurde heruntergeladen! Danke fürs downloaden!")
- EndIf
- EndIf
Updater via localhost:
Zunächst einmal suchen wir unseren Ordner Appserv in C:\ und öffnen den Ordner. Öffnen dann den Ordner www. Dort sieht man 3 Ordner und 2 .php Dateien. Man kann alles löschen außer den Ordner Appserv und cgi-bin. Erstellt nun in den Ordner www ein .txt Dokument mit den Namen Update und schreibt dort die versionnummer an: 1.0.0.2 Mehr nicht!
Nun kopiert euer Programm in den www Ordner. Falls ihr dann eine neue Version eures Programms habt, ändert ihr in der Update.txt die Nummer in 1.0.0.3 und so weiter. Und ersetzt das eurer Programm mit dem neuen.
Jetzt nurnoch folgende Zeilen verändern:
in:
und:
in:
Jetzt können aber nur du darauf zugreifen, den 127.0.0.1 = localhost = mein PC. Installiert Hamachi und änder zu Die User die Updaten wollen, müssen in ein von dir erstelltes Hamachi-Netzwerk und du musst online sein, damit die es downloaden können!
Updater via FTP-Client:
Ihr braucht einen Webspaceserver, dazu könnt ihr euch bei kilu.de anmelden, es ist völlig kostenlos. Jedoch solltet ihr keine richige Adresse und etc angeben. Die Emailadresse muss richtig sein, weil dort das Passwort gesendet wird.
Wenn ihr euch eingeloggt habt befolgt die 4. Schritte:




Jetzt startet FileZilla und gibt euere Daten dort ein, Port könnt ihr freilassen:

Wenn ihr verbunden seid, klickt auf den www Ordner und zieht Update.txt und euer Programm einfach dort rein. Jetzt muss man nurnoch die Befehle InetGet ändern:
in:
und:
in:
Hier noch mal ein Beispiel, wie es aussehen könnte:
Programm im neuen Ordner patchen:
Um das Programm in einen neuen Ordner zu patchen, schauen wir uns folgende Zeilen einmal an:
PHP-Quellcode
- If $msgbox = 6 Then
- Tooltip("Update wird runtergeladen... bitte warten....")
- InetGet("http://127.0.0.1/updatefunk.exe",@scriptDir& "\" & "updatefunk.exe", 1, 0)
- IniWrite("settings.ini", "Info", "Version", $ver_server)
- FileClose($file)
- FileDelete(@ScriptDir & "update.txt")
- Tooltip("")
- msgbox(0,"Update", "Das Programm wurde heruntergeladen! Danke fürs downloaden!")
Jetzt müssen wir noch noch den Patchpfad bei InetGet ändern:
Schlusswort
Das wars, falls ihr Fragen habt, stellt diese im Thread. Credits gehen an mich und Killerzwerg829, ich habe den Script-Code von ihm ein bisschen verändert. Damit dieser einfacher für euch ist. Im Anhang ist noch ein kleines Programm mit der Updatefunktion, näheres steht in der .txt die dabei ist.
Die Tutorial ist ganz von mir allein geschrieben!