Что нового

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

arabnesso

Новичок
Сообщения
17
Репутация
0
Здравствуйте, помогите, скрипт автообновления программы обычно работает из директории такой как например Рабочий стол\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
 
Верх