Версия AutoIt: 3.
Описание: Нужно сделать, чтобы этот скрипт обновлял не сам себя, а другую программу по наличии новой версии.
Бюджет: 500Р
Описание: Нужно сделать, чтобы этот скрипт обновлял не сам себя, а другую программу по наличии новой версии.
Код:
#include <Misc.au3>
#include <Inet.au3>
;
Global $sAppUpdate_Page = "http://site/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
Local $sUpdate_Info = _INetGetSource($sServer_Page)
If Not StringInStr($sUpdate_Info, "[Info]") Then
If $iMode = -1 Then MsgBox(48, "Update check", _
StringFormat("There was an error (%i) to check update, please contact with the author.", 1), 0, $hGUI)
Return SetError(1, 0, 0)
EndIf
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) & ".exe"
Local $iInetGet = InetGet($sUpdate_File, @TempDir & "\" & $sScript_Name)
Run(@ComSpec & ' /c Ping -n 2 localhost > nul & Move /y "' & _
@TempDir & '\' & $sScript_Name & '" "' & @ScriptFullPath & '" & Start "" "' & @ScriptFullPath & '"', '', @SW_HIDE)
Exit
EndIf
If $iMode = -1 Then MsgBox(48, "Update check", "You are using the newest version of this software.", 0, $hGUI)
Return 1
EndFunc
Бюджет: 500Р