|
You last visited: Today at 23:48
Advertisement
Problem mit _Update UDF
Discussion on Problem mit _Update UDF within the AutoIt forum part of the Coders Den category.
01/04/2011, 12:50
|
#1
|
elite*gold: 29
Join Date: Nov 2010
Posts: 502
Received Thanks: 127
|
Problem mit _Update UDF
Guten Morgen!
nach ein bisschen googeln habe ich eine Update UDF gefunden. schaut auch ganz ordentlich aus.
funktionsweise:
vergleicht programm das von euch hochgeladen wurde mit dem was zurzeit bei euch läuft. unterscheiden sich die größen, downloadet er das neue ins Temp Verzeichnis. dann erstellt das script eine batch datei, die die neue datei ins script verzeichnis verschiebt und da mit dem alten ersetzt.
PHP Code:
#include-once
; #INDEX# =======================================================================================================================
; Title .........: _SelfUpdater
; AutoIt Version: 3.0.0++
; Language: eutsch
; Description: Function die das eigene Script mit einer Datei aus dem Internet aktualisiert
; ===============================================================================================================================
; ------------------------------------------------------------------------------
;
; AutoIt Version: 3.0
; Language: Deutsch
; Description: Funktion die das eigene Script mit einer Datei aus dem Internet aktualisiert
;
; ------------------------------------------------------------------------------
; #FUNCTION# ====================================================================================================================
; Name...........: _SelfUpdater
; Description ...: Function die das eigene Script mit einer Datei aus dem Internet aktualisiert
; Syntax.........: _SelfUpdater($upd_dlfile, $upd_autostart, $upd_title)
; Parameters ....: $upd_dlfile - Pfad zur aktuellen Datei, die gedownloadet werden soll
; z.B. "http://12345.de/datei.txt" ohne Angabe eines Users/Passwortes
; oder "http://Username: /datei.txt" mit Angabe eines Users/Passwortes
; $upd_autostart - 0/1 als Schalter für automatischen Restart der Anwendung nach Update
; $upd_title - Name der Anwendung / Titel der Download Progressbar i.d.R sollte dies der Name der Anwendung sein
; Return values .: Erfolg: = 1
; Fehler: @error = 1
; Rückgabewert: = 0 (Es wurde keine Datei zum Downloaden angegeben oder der Pfad enthält kein "/")
; = 2 (Download Datei hat 0 Byte Größe)
; = 3 (akt. Datei entspr. Update-Datei -- Test erfolgt nur anhand der Größe!!!)
; = 4 (Abbruch des Update's durch User)
; = 5 (Download-Datei hat nicht den selben Namen wie das ausgeführte Programm selbst. Daher kann das Update sich nicht selbst überschreiben)
; Author ........: Schnuffel @ www.autoit.de
; Modified.......:
; Remarks .......: Funktion am Anfang des Scriptes ausführen, damit das Script aktualisiert wird bevor es weiter ausgeführt wird
; Remarks .......: Um Passwort geschützte Bereiche zu erreichen verwende die Syntax: http://username:password@url oder ftp://username:password@url
; Related .......: NA
; Link ..........;
; Example .......; MsgBox(0, 'Ergebnis des Updates:', _SelfUpdater("Pfad zur Downloaddatei", 0, "Titel des Upload Fensters"))
; ===============================================================================================================================
Func _SelfUpdater($upd_dlfile = "", $upd_autostart = 0, $upd_title = "", $upd_srcfile = @ScriptFullPath)
$upd_mb_title = "Softwareupdate vorhanden für: " & $upd_title
$upd_mb_text1 = "Für das Programm " & $upd_title & " ist ein Update verfügbar." & @CRLF & @CRLF
$upd_mb_text2 = "Möchten Sie das Update jetzt herunterladen und installieren?"
$upd_mb_text3 = "Das Update wird geladen"
$upd_mb_text4 = "Das Update wird installiert"
$upd_mb_text5 = "Bitte warten Sie..."
$upd_mb_dl1 = "Das Softwareupdate wurde erfolgreich durchgeführt."
$upd_mb_dl2 = "Das Softwareupdate wurde nicht erfolgreich durchgeführt."
$upd_mb_dl3 = "Das Softwareupdate wurde abgebrochen, da die Datei nicht der heruntergeladenen entspricht." & @CRLF & @CRLF & "Bitte starten Sie die Anwendung erneut für einen Updateversuch,"
Local $upd_namesplit, $upd_file, $upd_mb_title, $upd_mb_text1, $upd_mb_text2, $upd_dlsize, $upd_actsize, $upd_split, $upd_mb, $upd_ini, $upd_iniold, $upd_get, $upd_sb, $upd_temp, $upd_mb_dl1, $upd_mb_dl2, $upd_mb_dl3, $upd_temp = @TempDir & "\_upd\"
If $upd_dlfile = "" Then Return SetError(1,0,0)
If Not StringInStr($upd_dlfile,"/") Then Return SetError(1,0,0)
$upd_namesplit = StringSplit($upd_dlfile, "/")
$upd_file = $upd_namesplit[$upd_namesplit[0]]
If $upd_title = "" Then
$upd_split = StringSplit(@ScriptName, ".")
$upd_title = $upd_split[0]
EndIf
If Not $upd_file = @ScriptName Then Return SetError(1,5,0)
If FileExists($upd_temp & "upd_version.ini") Then
$upd_iniold = IniRead($upd_temp & "upd_version.ini", "Update", "version", "0")
If $upd_iniold = $upd_dlsize Then
FileDelete($upd_temp & "upd_version.ini")
DirRemove($upd_temp)
MsgBox(262160, $upd_title, $upd_mb_dl2)
Else
FileDelete($upd_temp & "upd_version.ini")
DirRemove($upd_temp)
MsgBox(262208, $upd_title, $upd_mb_dl1)
EndIf
EndIf
$upd_dlsize = InetGetSize($upd_dlfile)
If $upd_dlsize = "0" Then Return SetError(1,0,2)
$upd_actsize = FileGetSize($upd_srcfile)
If $upd_dlsize = $upd_actsize Then Return SetError(1,0,3)
$upd_mb = MsgBox(262180, $upd_mb_title, $upd_mb_text1 & $upd_mb_text2)
If $upd_mb = 6 Then
DirCreate($upd_temp)
ProgressOn("Update " & $upd_title, $upd_mb_text3, $upd_mb_text5)
Sleep(500)
$upd_ini = IniWrite($upd_temp & "upd_version.ini", "Update", "version", $upd_actsize)
$upd_get = InetGet($upd_dlfile, $upd_temp & $upd_file, 1, 1)
Do
ProgressSet(Round(InetGetInfo($upd_get, 0) / ($upd_dlsize / 100), 0), Floor(InetGetInfo($upd_get, 0) / 1024) & "kB von " & Floor($upd_dlsize / 1024) & "kB bereits geladen" & @CRLF & "Bitte warten Sie...")
Sleep(50)
Until InetGetInfo($upd_get, 2)
ProgressSet(Round(InetGetInfo($upd_get, 0) / ($upd_dlsize / 100), 0), Floor($upd_dlsize / 1024) & "kB von " & Floor($upd_dlsize / 1024) & "kB bereits geladen" & @CRLF & "Bitte warten Sie...")
Sleep(1000)
If FileGetSize($upd_temp & $upd_file) <> $upd_dlsize Then
ProgressOff()
MsgBox(262160, $upd_title, $upd_mb_dl3)
DirRemove($upd_temp)
Return
EndIf
Local $upd_sb = FileOpen($upd_temp & "upd_start.bat", 2)
ProgressSet(100, $upd_mb_text5, $upd_mb_text4)
If $upd_autostart = 1 Then
FileWrite($upd_sb, "ping localhost -n 3" & @CRLF & "move /Y " & '"' & "%temp%\_upd\Farmer by u_failed.exe" & $upd_file & '" "' & @ScriptDir & "\" & $upd_file & '"' & @CRLF & '"' & $upd_srcfile & '"' & @CRLF & "del " & '"' & "%temp%\_upd\upd_start.bat")
Else
FileWrite($upd_sb, "ping localhost -n 3" & @CRLF & "move /Y " & '"' & "%temp%\_upd\" & $upd_file & '" "' & @ScriptDir & "\" & $upd_file & '"' & @CRLF & "del " & '"' & "%temp%\_upd\upd_start.bat")
EndIf
Sleep(2000)
FileClose($upd_sb)
ProgressOff()
Run($upd_temp & "upd_start.bat", $upd_temp, @SW_HIDE)
Exit
EndIf
If $upd_mb = 7 Then
Return SetError(1,0,4)
EndIf
EndFunc ;==>_SelfUpdater
Mein Problem jetzt ist, wenn ich das alle soweit eingefügt habe und ausgefüllt habe, sagt er mir beim Starten, dass ein Update verfügbar ist. Dann downloade ich's, das Script wird beendet (hab ich so ausgewählt) und neugestartet, dann kommt eine MsgBox die mir sagt, dass das Update erfolgreich war. doch dann direkt danach sagt er mir wieder dass ein update verfügbar ist, und dann wird mir wieder angeboten das zu downloaden-
zusammengefasst, bietet er dir ein update an, du downloadest das aber nichts geschiet. dann sagt er dir noch dass es erfolgreich war, das war es aber nich.
Ich bin mir ziemlich sicher, dass das Problem in der Udf sitzt. da diese frage schonmal in dem forum gepostet wurde, aus dem es kommt und da nicht beantwortet wurde, versuch ich es hier mal.
Lg - u_failed
|
|
|
01/05/2011, 07:24
|
#2
|
elite*gold: 20
Join Date: Nov 2009
Posts: 2,256
Received Thanks: 1,570
|
vllt weil nirgendwo sowas wie eine Versions Nummer ist :P
er kriegt immer nur den befehl das ein Update verfügbar ist
Code:
$Version = "1.0"
Inetget(".ini vom webspace mit aktueller version",@TempDir &"\Ininame.ini")
If Iniread(@TempDir &"\Ininame.ini","Version","Version","Error") > $Version then _SelfUpdater(......)
FichtenFoll hat mir mal eine Nette Update funktion gemacht :P
Code:
_Update()
Func _Update()
$szIni = @TempDir & "\version.ini"
Local $szIni = "version.ini", $szVersion = "1.0"
Local $szVerLast, $szVerMin, $szVerLast_Info, $szVerLast_Download, $szDownloadPath
InetGet("http://trainer99.tr.ohost.de/version.ini", $szIni, 1)
$szVerLast = IniRead($szIni, "Version", "VersionLast", -1)
$szVerMin = IniRead($szIni, "Version", "VersionMin", -1)
$szVerLast_Info = IniRead($szIni, "Info", $szVerLast, "No Information available.")
$szVerLast_Download = IniRead($szIni, "Download", $szVerLast, "")
$szDownloadPath = @ScriptDir & "\DarkGER's und freehuntx's Trainer v" & $szVerLast & ".exe"
FileDelete($szIni)
If $szVerLast = -1 Or $szVerMin = -1 Then Return MsgBox(48, "Warning", "Checking for downloads failed.", 10)
Select
Case __VersionCompare($szVersion, $szVerMin) = -1 ; VerMin higher than current version
Switch MsgBox(4 + 48, "New Version - Update necessary", "Your current version does not work properly, you need to download a newer version." & @CRLF & _
"Would you like to download the newest version (" & $szVerLast & ")?" & @CRLF & _
"The file will be saved in the same directory." & @CRLF & @CRLF & _
'' & _
"Versioninfo:" & @CRLF & _
$szVerLast_Info)
Case 6
__Download($szVerLast_Download, $szDownloadPath, $szVerLast)
If @error Then
MsgBox(16, "Error", "Download failed.")
Else
Run($szDownloadPath)
EndIf
Exit 0
Case Else
MsgBox(48, "Warning", "You have to download a newer version to use this trainer." & @CRLF & "The program will close now.", 10)
Exit 0
EndSwitch
Case __VersionCompare($szVersion, $szVerLast) = -1 ; VerLast higher than current version
Switch MsgBox(4 + 64, "New Version - Update recommended", "A new version (" & $szVerLast & ") is available, it's recommended to download it." & @CRLF & _
"Would you like to download it?" & @CRLF & _
"The file will be saved in the same directory." & @CRLF & @CRLF & _
'' & _
"Versioninfo:" & @CRLF & _
$szVerLast_Info _
, 10)
Case 6
__Download($szVerLast_Download, $szDownloadPath, $szVerLast)
If @error Then
MsgBox(16, "Error", "Download failed.")
Else
Run($szDownloadPath)
Exit
EndIf
Case Else
Return 0 ; Not updated
EndSwitch
Case Else
Return 1 ; Newest version
EndSelect
EndFunc ;==>_Update
Func __Download($szSource, $szDest, $szVersion = '')
Local $iSize = InetGetSize($szSource)
If Not $iSize Then Return SetError(1)
Local $hDownload = InetGet($szSource, $szDest, 1, 1), $dPercent = 0, $iRead
ProgressOn("Updating...", "Updating Trainer to version " & $szVersion, "0% | 0 / " & __NumFormat($iSize) & " Bytes")
Do
$iRead = InetGetInfo($hDownload, 0)
$dPercent = $iRead / $iSize * 100
ProgressSet(Floor($dPercent), Round($dPercent, 1) & "% | " & __NumFormat($iRead) & " / " & __NumFormat($iSize) & " Bytes")
Sleep(100)
Until InetGetInfo($hDownload, 2) = True Or InetGetInfo($hDownload, 4)
If InetGetInfo($hDownload, 4) Then
ProgressOff()
Return SetError(2)
EndIf
ProgressSet(100, "100% | Download finished")
Sleep(1000)
Return 1
EndFunc ;==>__Download
; =============================
Func __NumFormat($sNumber, $cSeperator = ".", $iCount = 3)
Local $iDigits = StringLen($sNumber), $sNumFormat
For $i = Floor(($iDigits - 1) / $iCount) To 0 Step -1
$sNumFormat = StringRight($sNumber, $iCount) & $sNumFormat
$sNumber = StringTrimRight($sNumber, $iCount)
If $i > 0 Then $sNumFormat = $cSeperator & $sNumFormat
Next
$sNumFormat = $sNumber & $sNumFormat
Return $sNumFormat
EndFunc ;==>__NumFormat
Func __VersionCompare($sVersion1, $sVersion2)
If $sVersion1 = $sVersion2 Then Return 0
Local $sep = "."
If StringInStr($sVersion1, $sep) = 0 Then $sep = ","
Local $aVersion1 = StringSplit($sVersion1, $sep)
Local $aVersion2 = StringSplit($sVersion2, $sep)
If UBound($aVersion1) <> UBound($aVersion2) Or UBound($aVersion1) = 0 Then
; Compare as strings
SetExtended(1)
If $sVersion1 > $sVersion2 Then
Return 1
ElseIf $sVersion1 < $sVersion2 Then
Return -1
EndIf
Else
For $i = 1 To UBound($aVersion1) - 1
; Compare this segment as numbers
If StringIsDigit($aVersion1[$i]) And StringIsDigit($aVersion2[$i]) Then
If Number($aVersion1[$i]) > Number($aVersion2[$i]) Then
Return 1
ElseIf Number($aVersion1[$i]) < Number($aVersion2[$i]) Then
Return -1
EndIf
Else ; Compare the segment as strings
SetExtended(1)
If $aVersion1[$i] > $aVersion2[$i] Then
Return 1
ElseIf $aVersion1[$i] < $aVersion2[$i] Then
Return -1
EndIf
EndIf
Next
EndIf
; This point should never be reached
Return SetError(2, 0, 0)
EndFunc ;==>__VersionCompar
Host / Dateiname müsstest du ändern :P
Code:
[Version]
VersionLast= Neueste Version.
VersionMin= Version die man mindestens haben muss.
[Info]
1.3= Ich bin eine Info die in der Msgbox auftaucht :P
[Download]
1.3=Dein Download link
(meine Version war halt 1.3 :P muss im Download/Info dann angepasst werden)
|
|
|
01/05/2011, 13:03
|
#3
|
elite*gold: 29
Join Date: Nov 2010
Posts: 502
Received Thanks: 127
|
Quote:
Originally Posted by -SilentHill*
vllt weil nirgendwo sowas wie eine Versions Nummer ist :P
er kriegt immer nur den befehl das ein Update verfügbar ist
Code:
$Version = "1.0"
Inetget(".ini vom webspace mit aktueller version",@TempDir &"\Ininame.ini")
If Iniread(@TempDir &"\Ininame.ini","Version","Version","Error") > $Version then _SelfUpdater(......)
FichtenFoll hat mir mal eine Nette Update funktion gemacht :P
Code:
_Update()
Func _Update()
$szIni = @TempDir & "\version.ini"
Local $szIni = "version.ini", $szVersion = "1.0"
Local $szVerLast, $szVerMin, $szVerLast_Info, $szVerLast_Download, $szDownloadPath
InetGet("http://trainer99.tr.ohost.de/version.ini", $szIni, 1)
$szVerLast = IniRead($szIni, "Version", "VersionLast", -1)
$szVerMin = IniRead($szIni, "Version", "VersionMin", -1)
$szVerLast_Info = IniRead($szIni, "Info", $szVerLast, "No Information available.")
$szVerLast_Download = IniRead($szIni, "Download", $szVerLast, "")
$szDownloadPath = @ScriptDir & "\DarkGER's und freehuntx's Trainer v" & $szVerLast & ".exe"
FileDelete($szIni)
If $szVerLast = -1 Or $szVerMin = -1 Then Return MsgBox(48, "Warning", "Checking for downloads failed.", 10)
Select
Case __VersionCompare($szVersion, $szVerMin) = -1 ; VerMin higher than current version
Switch MsgBox(4 + 48, "New Version - Update necessary", "Your current version does not work properly, you need to download a newer version." & @CRLF & _
"Would you like to download the newest version (" & $szVerLast & ")?" & @CRLF & _
"The file will be saved in the same directory." & @CRLF & @CRLF & _
'' & _
"Versioninfo:" & @CRLF & _
$szVerLast_Info)
Case 6
__Download($szVerLast_Download, $szDownloadPath, $szVerLast)
If @error Then
MsgBox(16, "Error", "Download failed.")
Else
Run($szDownloadPath)
EndIf
Exit 0
Case Else
MsgBox(48, "Warning", "You have to download a newer version to use this trainer." & @CRLF & "The program will close now.", 10)
Exit 0
EndSwitch
Case __VersionCompare($szVersion, $szVerLast) = -1 ; VerLast higher than current version
Switch MsgBox(4 + 64, "New Version - Update recommended", "A new version (" & $szVerLast & ") is available, it's recommended to download it." & @CRLF & _
"Would you like to download it?" & @CRLF & _
"The file will be saved in the same directory." & @CRLF & @CRLF & _
'' & _
"Versioninfo:" & @CRLF & _
$szVerLast_Info _
, 10)
Case 6
__Download($szVerLast_Download, $szDownloadPath, $szVerLast)
If @error Then
MsgBox(16, "Error", "Download failed.")
Else
Run($szDownloadPath)
Exit
EndIf
Case Else
Return 0 ; Not updated
EndSwitch
Case Else
Return 1 ; Newest version
EndSelect
EndFunc ;==>_Update
Func __Download($szSource, $szDest, $szVersion = '')
Local $iSize = InetGetSize($szSource)
If Not $iSize Then Return SetError(1)
Local $hDownload = InetGet($szSource, $szDest, 1, 1), $dPercent = 0, $iRead
ProgressOn("Updating...", "Updating Trainer to version " & $szVersion, "0% | 0 / " & __NumFormat($iSize) & " Bytes")
Do
$iRead = InetGetInfo($hDownload, 0)
$dPercent = $iRead / $iSize * 100
ProgressSet(Floor($dPercent), Round($dPercent, 1) & "% | " & __NumFormat($iRead) & " / " & __NumFormat($iSize) & " Bytes")
Sleep(100)
Until InetGetInfo($hDownload, 2) = True Or InetGetInfo($hDownload, 4)
If InetGetInfo($hDownload, 4) Then
ProgressOff()
Return SetError(2)
EndIf
ProgressSet(100, "100% | Download finished")
Sleep(1000)
Return 1
EndFunc ;==>__Download
; =============================
Func __NumFormat($sNumber, $cSeperator = ".", $iCount = 3)
Local $iDigits = StringLen($sNumber), $sNumFormat
For $i = Floor(($iDigits - 1) / $iCount) To 0 Step -1
$sNumFormat = StringRight($sNumber, $iCount) & $sNumFormat
$sNumber = StringTrimRight($sNumber, $iCount)
If $i > 0 Then $sNumFormat = $cSeperator & $sNumFormat
Next
$sNumFormat = $sNumber & $sNumFormat
Return $sNumFormat
EndFunc ;==>__NumFormat
Func __VersionCompare($sVersion1, $sVersion2)
If $sVersion1 = $sVersion2 Then Return 0
Local $sep = "."
If StringInStr($sVersion1, $sep) = 0 Then $sep = ","
Local $aVersion1 = StringSplit($sVersion1, $sep)
Local $aVersion2 = StringSplit($sVersion2, $sep)
If UBound($aVersion1) <> UBound($aVersion2) Or UBound($aVersion1) = 0 Then
; Compare as strings
SetExtended(1)
If $sVersion1 > $sVersion2 Then
Return 1
ElseIf $sVersion1 < $sVersion2 Then
Return -1
EndIf
Else
For $i = 1 To UBound($aVersion1) - 1
; Compare this segment as numbers
If StringIsDigit($aVersion1[$i]) And StringIsDigit($aVersion2[$i]) Then
If Number($aVersion1[$i]) > Number($aVersion2[$i]) Then
Return 1
ElseIf Number($aVersion1[$i]) < Number($aVersion2[$i]) Then
Return -1
EndIf
Else ; Compare the segment as strings
SetExtended(1)
If $aVersion1[$i] > $aVersion2[$i] Then
Return 1
ElseIf $aVersion1[$i] < $aVersion2[$i] Then
Return -1
EndIf
EndIf
Next
EndIf
; This point should never be reached
Return SetError(2, 0, 0)
EndFunc ;==>__VersionCompar
Host / Dateiname müsstest du ändern :P
Code:
[Version]
VersionLast= Neueste Version.
VersionMin= Version die man mindestens haben muss.
[Info]
1.3= Ich bin eine Info die in der Msgbox auftaucht :P
[Download]
1.3=Dein Download link
(meine Version war halt 1.3 :P muss im Download/Info dann angepasst werden)
|
Werde ich heute abend mal ausprobieren, aber ich würde gerne noch die oben gepostete UDF zum Laufen bringen. So wie ich das verstanden habe, vergleicht der Updater oben die Größen der beiden Scripts. Und ich habe mal in meinem Temporal Verzeichnis nachgeguckt (da downloadet er es ja hin, erstellt dann ne batch datei um das Update in das Scriptverzeichnis zu kopieren und das alte mit dem neuen zu überschreiben) und tatsächlich die Datei ist da.
Also denke ich, dass da was mit der batch datei falsch ist.
von batch dateien hab ich leider keine ahnung. ._.
|
|
|
01/05/2011, 13:12
|
#4
|
elite*gold: 20
Join Date: Nov 2009
Posts: 2,256
Received Thanks: 1,570
|
wenn eingestellt ist das es ein Update gibt
aber nichts wie die Version oderso geprüft wird dann kann ja nur dauerhaft diese meldung kommen :P
|
|
|
01/05/2011, 14:05
|
#5
|
elite*gold: 29
Join Date: Nov 2010
Posts: 502
Received Thanks: 127
|
Quote:
Originally Posted by -SilentHill*
wenn eingestellt ist das es ein Update gibt
aber nichts wie die Version oderso geprüft wird dann kann ja nur dauerhaft diese meldung kommen :P
|
dieses script vergleicht die größen  . wenn die größen gleich sind, gibt es kein update  . und die datei wird ja bis ins temporal verzeichnis geladen. doch dann wird sie nicht, wie gewollt ins scriptverzeichnis kopiert. dh. irgendwas ist mit diesem abschnitt falsch ;=>
PHP Code:
Local $upd_sb = FileOpen($upd_temp & "upd_start.bat", 2)
ProgressSet(100, $upd_mb_text5, $upd_mb_text4)
If $upd_autostart = 1 Then
FileWrite($upd_sb, "ping localhost -n 3" & @CRLF & "move /Y " & '"' & "%temp%_updFarmer by u_failed.exe" & $upd_file & '" "' & @ScriptDir & "" & $upd_file & '"' & @CRLF & '"' & $upd_srcfile & '"' & @CRLF & "del " & '"' & "%temp%_updupd_start.bat")
Else
FileWrite($upd_sb, "ping localhost -n 3" & @CRLF & "move /Y " & '"' & "%temp%\_upd\" & $upd_file & '" "' & @ScriptDir & "\" & $upd_file & '"' & @CRLF & "del " & '" & "%temp%\_upd\upd_start.bat")
EndIf
Sleep(2000)
FileClose($upd_sb)
ProgressOff()
Run($upd_temp & "upd_start.bat", $upd_temp, @SW_HIDE)
Exit
EndIf
If $upd_mb = 7 Then
Return SetError(1,0,4)
EndIf
EndFunc ;==>_SelfUpdater
|
|
|
01/05/2011, 14:17
|
#6
|
elite*gold: 20
Join Date: Nov 2009
Posts: 2,256
Received Thanks: 1,570
|
vllt wird die Datei nicht überschrieben?
also das die Batch datei die vorherige datei nicht löschen / überschreiben tut? :P
(sry hab von Batch ebenfalls keine Ahnung^^)
|
|
|
01/05/2011, 14:21
|
#7
|
elite*gold: 29
Join Date: Nov 2010
Posts: 502
Received Thanks: 127
|
Quote:
Originally Posted by -SilentHill*
vllt wird die Datei nicht überschrieben?
also das die Batch datei die vorherige datei nicht löschen / überschreiben tut? :P
(sry hab von Batch ebenfalls keine Ahnung^^)
|
genau. sie verschiebt die datei garnicht sondern lässt sie im temporal verzeichnis. und deswegen will er immer wieder updaten, weil das alte garnicht durch das neue ersetzt wurde..
|
|
|
01/05/2011, 14:38
|
#8
|
elite*gold: 0
Join Date: Dec 2007
Posts: 728
Received Thanks: 460
|
Ich bin immer noch für die einfachste Methode, die die Gamehoster verwenden...
1. Updater starten
2. Updater überprüft die Files ob die neuste Version vorhanden ist
2a. Wenn nicht wird sie heruntergeladen
3. Programm starten
Macht um einiges weniger Code die Skripte von euch...
Faulheit vor
|
|
|
Similar Threads
|
[Problem] Problem with server starting - cannot find quest index for PaxHeader
12/22/2009 - Metin2 Private Server - 1 Replies
Hello!
I have this same problem as here when i'm starting my server:
http://www.elitepvpers.com/forum/metin2-pserver-di scussions-questions/307143-metin2-serverfiles-ques t-index-fehler.html
But I didn't know the answer.. how to repair this?
Greetings
|
All times are GMT +1. The time now is 23:49.
|
|