Update Funktion

03/16/2011 16:35 marioplayer95#1
Hallo,
ich habe bei google mal nach einer Update Funktion geguckt und hab das gefunden aber es geht nicht...

Code:
Dim $ver = "1.5"
            InetGet("http://sanctuaryfs:passwort@sanctuaryfs.***********/proggs/otkt/ver.txt",@TempDir & "\ver.txt", 1, 0)
            $file = FileOpen(@TempDir & "\ver.txt", 0)
            $line = FileReadLine($file, 1)
            $line2= FileReadLine($file, 2)
            If $line = $ver Then
                MsgBox(64, "Kein Update", "Du hast die neuste Version: (" & $ver & ")")
                FileClose($file)
                FileDelete(@TempDir & "\ver.txt")
            Else
                MsgBox(64, "Update!", "Es ist eine Neue Version verfügbar!")
                $fg = MsgBox(4, "Updaten?", "Möchtest du jetzt Updaten?")
                If $fg = 6 Then
                    InetGet("ftp://sanctuaryfs:passwort@sanctuaryfs.***********/proggs/install.exe" & $line2, $line2, 1, 0)  ; ANPASSEN
                    FileClose($file)
                    FileDelete(@TempDir & "\ver.txt")
                    Exit 0
                EndIf
            EndIf
Danke für die Hilfe.
03/16/2011 18:40 ZeraPain#2
warum muss man sich denn einloggen um eine txt herunterzuladen..
wohl falsche inet adresse
03/16/2011 19:04 marioplayer95#3
Selbst ohne Login gehts nicht.
Die Adresse ist richtig .
03/17/2011 12:24 ZeraPain#4
dann schau mal ob im tempornder die txt erstellt wird
03/18/2011 19:42 marioplayer95#5
Nein wird sie nicht.
03/19/2011 11:48 ZeraPain#6
naja dann weißt du ja woran es liegt.
so kann man dir jedenfalls nicht helfen, wenn du nicht die komplette url angibst
03/19/2011 12:09 derpo#7
Bist du dir sicher, dass du für http ein Passwort brauchst?
Probier das FileUpload mit funpic.
Wenn du bei funpic zum Beispiel bei ftp://filehoster.fi.funpic.de hochlädst, erscheint dies dann unter [Only registered and activated users can see links. Click Here To Register...]

Du kannst dir außerdem das Runterladen der Datei auf die Festplatte sparen, indem du am Anfang des Codes
PHP Code:
#include <INet.au3> 
einfügst und mit _InetGetSource die Datei in eine Variable zurückgibst.
03/19/2011 12:25 marioplayer95#8
Quote:
Originally Posted by ZeraPain View Post
naja dann weißt du ja woran es liegt.
so kann man dir jedenfalls nicht helfen, wenn du nicht die komplette url angibst
Es ist die komplette URL, **** sind nicht von mir der Hoster ist: Square7

Quote:
Originally Posted by derpo View Post
Bist du dir sicher, dass du für http ein Passwort brauchst?
Probier das FileUpload mit funpic.
Wenn du bei funpic zum Beispiel bei ftp://filehoster.fi.funpic.de hochlädst, erscheint dies dann unter [Only registered and activated users can see links. Click Here To Register...]

Du kannst dir außerdem das Runterladen der Datei auf die Festplatte sparen, indem du am Anfang des Codes
PHP Code:
#include <INet.au3> 
einfügst und mit _InetGetSource die Datei in eine Variable zurückgibst.
Ich werds mal ausprobieren.

Wie geht den der Code dann mit #include <INet.au3>?


Link zur ver.txt: [Only registered and activated users can see links. Click Here To Register...]
03/19/2011 13:53 derpo#9
Quote:
Originally Posted by marioplayer95 View Post
Wie geht den der Code dann mit #include <INet.au3>?
So, wie es aussieht, blockiert square7 Anfragen ohne User-Agent. Das ist die Lösung :
PHP Code:
HttpSetUserAgent("Mozilla/5.0 (Windows; U; Windows NT 18.0; de; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15 ( .NET CLR 3.5.30729; .NET4.0E)"

Hier mal ein funktionierendes Beispiel, welches die Versionsdatei splittet, ohne diese auf die Festplatte zu speichern (Geht mit _InetGetSource nicht) :
PHP Code:
#include <String.au3>
HttpSetUserAgent("Mozilla/5.0 (Windows; U; Windows NT 18.0; de; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15 ( .NET CLR 3.5.30729; .NET4.0E)")
$ver InetRead("http://www.sanctuaryfs.***********/ver.txt")
$split StringSplit($ver,"0A",3)
$ver _HexToString($split[0])
$datei _HexToString($split[1])
MsgBox(0,"Test","Version : " & @CRLF $ver & @CRLF "Datei : " & @CRLF $datei
StringSplit($ver,"0A",3) splittet den von InetRead in Hexadecimal zurückgegebenen String an 0A (Zeilenumbruch LF)
03/19/2011 14:17 marioplayer95#10
Vieeeeeeelllen dank, er überpfrüft es jetzt richtig, aber runterladen tut er es immer noch nicht:

PHP Code:
#include <String.au3>

Dim $ver1 "1.5"
HttpSetUserAgent("Mozilla/5.0 (Windows; U; Windows NT 18.0; de; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15 ( .NET CLR 3.5.30729; .NET4.0E)")
$ver2 InetRead("http://www.sanctuaryfs.***********/ver.txt")
$split StringSplit($ver2,"0A",3)
$ver3 _HexToString($split[0])
$datei _HexToString($split[1])
            If 
$ver1 $ver3 Then
                MsgBox
(64"Kein Update""Du hast die neuste Version: (" $ver1 ")")
            Else
                
MsgBox(64"Update!""Es ist eine Neue Version verfügbar!")
                
$fg MsgBox(4"Updaten?""Möchtest du jetzt Updaten?")
                If 
$fg 6 Then
                    HttpSetUserAgent
("Mozilla/5.0 (Windows; U; Windows NT 18.0; de; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15 ( .NET CLR 3.5.30729; .NET4.0E)")
                    
InetGet("http://sanctuaryfs.***********/setup2.exe",@ScriptDir &  "\setup2.exe")
                    Exit 
0
                
EndIf
            EndIf 
03/19/2011 14:41 derpo#11
Ich kann die setup2.exe nicht von deinem Host auf square7 runterladen, ich glaube die existiert nicht
03/19/2011 14:48 marioplayer95#12
Ich hab sie hochgeladen...komisch.

P.S: Ich hab mal in 2.exe unbenannt und dann ging es.
03/19/2011 15:45 ZeraPain#13
such dir mal einen anderen hoster ;-)
bei mir funktioniert das, wenn ich das auf meinem ftp hochlade.

ka warum man von deinem da nichts herunterladen kann