#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=system-software-update.ico
#AutoIt3Wrapper_outfile=Updater.exe
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#Region
#EndRegion
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ProgressConstants.au3>
#include <HTTP.au3>
; updater nur einmal starten
#include <misc.au3>
If _Singleton("Updater.exe", 0
) = 0
Then
; chrome prozess schliessen
; GUI für die Auswahl ob Beta oder Release Channel
; GUI laufen lassen bis geschlossen wird
Case $msg = $GUI_EVENT_CLOSE
; 1 weiergeben an updater funktion fuer beta channel
Updater(1)
; 2 weitergeben an updater funktion fuer release channel
Updater(2)
; 3 weitergeben an updater funktion fuer release channel
Updater(3)
; gui schliessen
; update ordner anlegen
; updates ordner anlegen für versionskontrolle
; aktuellen chrome ermitteln
$host='tools.google.com'
$port=80
$page='/service/update2'
_HTTPSetUserAgent("Google Update", "1.2.183.7;winhttp")
$socket=_HTTPConnect($host, $port)
;Dev-Channel
$data='<?xml version="1.0" encoding="UTF-8"?><o:gupdate xmlns:o="http://www.google.com/update2/request" protocol="2.0" version="1.2.183.7" ismachine="0" machineid="{11111111-1111-1111-1111-111111111111}" userid="{11111111-1111-1111-1111-111111111111}" requestid="{11111111-1111-1111-1111-111111111111}"><o:os platform="win" version="5.1" sp="Service Pack 3"/><o:app appid="{8A69D345-D564-463C-AFF1-A69D9E530F96}" version="" lang="de" brand="" client="" iid="{11111111-1111-1111-1111-111111111111}"><o:updatecheck tag="2.0-dev"/></o:app></o:gupdate>'
;Beta-Channel
$data='<?xml version="1.0" encoding="UTF-8"?><o:gupdate xmlns:o="http://www.google.com/update2/request" protocol="2.0" version="1.2.183.7" ismachine="0" machineid="{11111111-1111-1111-1111-111111111111}" userid="{11111111-1111-1111-1111-111111111111}" requestid="{11111111-1111-1111-1111-111111111111}"><o:os platform="win" version="5.1" sp="Service Pack 3"/><o:app appid="{8A69D345-D564-463C-AFF1-A69D9E530F96}" version="" lang="de" brand="" client="" iid="{11111111-1111-1111-1111-111111111111}"><o:updatecheck tag="1.1-beta"/></o:app></o:gupdate>'
;Final-Channel
$data='<?xml version="1.0" encoding="UTF-8"?><o:gupdate xmlns:o="http://www.google.com/update2/request" protocol="2.0" version="1.2.183.7" ismachine="0" machineid="{11111111-1111-1111-1111-111111111111}" userid="{11111111-1111-1111-1111-111111111111}" requestid="{11111111-1111-1111-1111-111111111111}"><o:os platform="win" version="5.1" sp="Service Pack 3"/><o:app appid="{8A69D345-D564-463C-AFF1-A69D9E530F96}" version="" lang="de" brand="" client="" iid="{11111111-1111-1111-1111-111111111111}"><o:updatecheck/></o:app></o:gupdate>'
_HTTPPost( $host, $page, $socket, $data )
$body=_HTTPRead( $socket, 0 )
$update_url = $url[1]
; url splitten und version aus der url auslesen
$version = $v_temp[7]
; falls versionsdatei existiert, updateurl zurücksetzen
If FileExists( @ScriptDir&"\Chrome\updates\"&$version&".txt" ) Then $update_url = ""
; nichts gefunden, beenden
MsgBox( 0,"Chrome Updater","Keine neue Version gefunden!" )
MsgBox( 0,"Chrome Updater","No new version available!" )
; progress fenster
$window = GUICreate( "Chrome Download", 306
, 40
)
; dateigröße
; setup holen
InetGet ( $update_url, @ScriptDir&"\Update\chrome_aktuell.exe" ,0 ,1 )
; progressfenster "refreshen", balken fortlaufend
; falls progressfenster geschlossen wird, Download abbrechen, Update Ordner löschen und dann Exit
if $msg = $GUI_EVENT_CLOSE then
; gui schliessen
; 7za.exe inkludieren
; setup entpacken
RunWait( "7za.exe x """&@ScriptDir&"\Update\chrome_aktuell.exe"" -o"""&@ScriptDir&"\Update""" )
; chrome.7z entpacken
RunWait( "7za.exe x """&@ScriptDir&"\Update\chrome.7z"" -o"""&@ScriptDir&"\Update\extracted""" )
; alles aus dem versionsnummern ordner in den Chrome Ordner
DirCopy( @ScriptDir&"\Update\extracted\Chrome-bin\"&$versions_ordner&"\", @ScriptDir&"\Chrome\", 1 )
; restlichen Dateien und Ordner
; alles aufräumen
; versions datei nach Chrome\updates schreiben
FileDelete( @ScriptDir&"\Chrome\updates\"&$alte_version )
FileWrite( @ScriptDir&"\Chrome\updates\"&$version&".txt", "" )
; message Box ausgeben wenn mit Update fertig
MsgBox( 0,"Chrome Updater","Chrome wurde aktualisiert" )
MsgBox( 0,"Chrome Updater","Chrome updated" )
; updater beenden