Update?!?

07/24/2012 18:58 [Pro]grammierer#1
Hey Leute,
Ich kriegs in AutoIt nicht hin eine Update-funktion einzubauen
(Ich habe mir das Tutorial von Killerzwerg829 angesehen aber das brachte auch nichts)

Bis jetzt hab ichs damit versucht:



PHP Code:
FileDelete(@TempDir "\update.txt")
InetGet("ftp://meinftp.server.net/update.txt",@TempDir "\update.txt")
$file FileOpen(@TempDir "\update.txt"0)
$ver_server FileReadLine($file1)
$ver_pc FileReadLine("version.txt"1)
If 
$ver_server $ver_pc 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("ftp://meinftp.server.net/update.exe",@scriptDir&"\" & "update.exe")
        Tooltip("")
        msgbox(0,"
Update", "Das Programm wurde heruntergeladen!")

    EndIf
EndIf 
Allerdings haut das nicht hin :(
Bitte um Hilfe



07/24/2012 19:15 maxi39#2
hab es letzes jahr so gemacht:

PHP Code:
InetGet("http://blabla.bla.ohost.de/info/info.ini""C:\info.ini")
$VERSIONINI IniRead("C:\info.ini""ver""ver""")
$VERSION "2"

If $VERSION <> $VERSIONINI Then
    MsgBox
(64"Version ist zu alt""Es wird jetzt die neuste runtergeladen")
    
FileDelete(@ScriptDir "\" & @ScriptName & ".exe")
    InetGet("
http://blabla.bla.ohost.de/info/bla.exe", @ScriptDir & "\bla.exe")
    
Exit
EndIf 
07/24/2012 19:16 Njahs#3
Benutz die FTPEx.au3,
und lass doch bloß die
Finger von der "InetGet" Funktion :(

([Only registered and activated users can see links. Click Here To Register...]())
07/24/2012 19:20 maxi39#4
dann kann aber jeder der ein decompiler für autoit scripts hat an deine Benutzerdaten wenn man es mit FTP FileGet macht -.-
07/24/2012 19:30 [Pro]grammierer#5
Ich fand InetGet um einiges Leichter als FTPEx.au3
Damit gehts auch nicht.
Kann keiner helfen?:(
07/24/2012 19:35 maxi39#6
is ja auch kein wunder...
guck mal in den ersten script rein von dir:
InetGet("ftp://meinftp.server.net/update.txt",@TempDir & "\update.txt")
wenn dann muss es so heißen:
InetGet("http://meinftp.server.net/update.txt",@TempDir & "\update.txt")
07/24/2012 19:45 [Pro]grammierer#7
Nein^^
Bei FTP-Servern wird immer ftp:// verwenden
07/24/2012 19:49 maxi39#8
Quote:
Originally Posted by [Pro]grammierer View Post
Nein^^
Bei FTP-Servern wird immer ftp:// verwenden
[Only registered and activated users can see links. Click Here To Register...]

geh mal rauf und denk nochmal darüber nach was du geschrieben hast.
07/24/2012 19:55 [Pro]grammierer#9
ja so gehts auch aber hauptsächlich ftp:// wird verwendet...
07/24/2012 20:19 Njahs#10
Quote:
Originally Posted by [Pro]grammierer View Post
ja so gehts auch aber hauptsächlich ftp:// wird verwendet...
Nein, ftp:// wird nur benötigt, wenn du dich in deinen FTP-Server einloggen willst.
07/24/2012 20:20 lolkop#11
Quote:
Originally Posted by [Pro]grammierer View Post
ja so gehts auch aber hauptsächlich ftp:// wird verwendet...
niemals zum updaten ftp verwenden... gerade bei leicht decompilierbaren sprachen sorgt das für extreme sicherheitslücken, das jeder einfach die logindaten auslesen kann...

ein updater kann am einfachsten so aufgebaut werden:
Code:
Global $programmVersion = 5
If BinaryToString(InetRead("website/version.txt")) <> $programmVersion Then
    InetGet("website/Neu.exe")
    Run(Neu.exe)
    Exit
Endif
[...]
07/24/2012 20:32 [Pro]grammierer#12
lolkop, Wo ist die Datei dann gespeichert?
07/24/2012 20:50 lolkop#13
Quote:
Originally Posted by [Pro]grammierer View Post
lolkop, Wo ist die Datei dann gespeichert?
wenn du das aus diesem 5zeiler nicht herauslesen kannst, solltest du vielleicht mal in der hilfe jeden einzelnen befehl begutachten, bevor du anderer leute vorschläge kritisierst, das beispiel von mir ist im übrigen nichts anderes als das von max39 im zweiten post.
07/24/2012 20:52 [Pro]grammierer#14
Ja, und beides geht nicht ;)
Ausserdem habe ich dich lediglich gefragt wo die datei dann gespeichert ist...
btw: es sind 6 zeilen^^
07/24/2012 21:03 maxi39#15
dann poste mal den code so wie du ihn ausführst