Что нового

То работает, то не работает обновление

arabnesso

Новичок
Здравствуйте, помогите, скрипт автообновления программы обычно работает из директории такой как например Рабочий стол\CheckUpdates, не работает из AppData, не хочет скачиваться файл, не понимаю, то он работает, потом перестает работать. В чем может быть проблема? Уже компьютер перезагружал, не помогает. Почему-то даже сам InetGet не работает, если отдельно ставить.

Код:
#include <Misc.au3>
#include <Inet.au3>
Global $sAppUpdate_Page = "http://soft.ru/check/MyApp_Update.inf"
Global $sApp_Version = "1.0"

;Here we checking in quiet mode (only if new version available there will be a message).
_AppCheckUpdates_Proc($sAppUpdate_Page, $sApp_Version, 1)

Func _AppCheckUpdates_Proc($sServer_Page, $sCurrent_AppVersion, $iMode=-1) ;$iMode <> -1 to check quitly
    While 1
	Local $sUpdate_Info = _INetGetSource($sServer_Page)

    Local $sUpdate_Version = StringRegExpReplace($sUpdate_Info, "(?s)(?i).*Update Version=(.*?)(\r|\n).*", "\1")
    Local $sUpdate_File = StringRegExpReplace($sUpdate_Info, "(?s)(?i).*Update File=(.*?)(\r|\n).*", "\1")

    If _VersionCompare($sUpdate_Version, $sCurrent_AppVersion) = 1 Then
	    Local $iUpdate_Ask

        Local $sScript_Name = StringTrimRight(@ScriptName, 4) & ".zip"

        Local $iInetGet = InetGet($sUpdate_File, @TempDir & "\" & $sScript_Name)
		Sleep(500)
		ProcessClose("soft.exe")
		Sleep(5000)
        FileCopy(@TempDir & "\soft.zip", @AppDataDir & "\soft.exe", 1)
        Sleep(10000)
		Exit
	 EndIf
	 Sleep(500)
WEnd
 EndFunc
 
Верх