Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Egal ob Linux, Mac oder Windows. Hier passen alle Fragen rein.
Holgi
Grünschnabel
Grünschnabel
Beiträge: 34
Registriert: 12.05.2018, 12:33

Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von Holgi » 05.03.2019, 20:02

Hallo Fans der portablen Programme.
Möglicherweise kennt jemand von euch die portablen Programme von Caschy.
Dort gibt es u.a den Google Chrome Portable inkl. Updater.
Problem:
der kluge Kopf hinter dem AutoIT Script ("Bene") weilt mittlerweile nicht mehr unter uns.
Seinerzeit hatte er einen Updater für Chrome per AutoIT-Script zusammengeschustert, da gab es aber noch kein 64bit Google Chrome Browser.
Der eingebaute Updater von Google Chrome funzt bei der portablen Version nicht; wäre ja auch zu einfach. :D
Ich fände es toll, wenn jemand das alte AutoIt Script so erweitern könnte, dass sowohl der 32-bit Chrome, als auch der 64-bit Chrome-Browser damit upgedatet werden kann.
Caschy kann leider nicht weiterhelfen: er hatte seinerzeit nur die Idee; die Umsetzung kam von Bene.
hier der Link zum Downloadbereich von Caschy: https://drive.google.com/drive/folders/ ... sp=sharing
hier die Links zu alten AutoIt Scripte, welche ich im Netz gefunden habe:
https://pastebin.com/fa8e9236
https://pastebin.com/qmtadrYc
Wenn jemand eine Alternative kennt (Powershell-Script o.ä.), welches die Updatemöglichkeit von einem portablen Google Chrome ermöglicht, wäre mir das auch sehr willkommen.

Tante Google

Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von Tante Google » 05.03.2019, 20:02


Benutzeravatar
DK2000
Superhirn
Superhirn
Beiträge: 1050
Registriert: 03.04.2018, 00:07
Geschlecht:

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von DK2000 » 06.03.2019, 00:13

So wie ich das Script verstehe, wird dort auch nur der Updater von Chrome verwendet. Was heruntergeladen wird, wird anscheinend hier definiert:

Code: Alles auswählen

$host='tools.google.com'
        $port=80
        $page='/service/update2'
        _HTTPSetUserAgent("Google Update", "1.2.183.7;winhttp")
        $socket=_HTTPConnect($host, $port)

Code: Alles auswählen

$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>'
In dem Falle ist das für Windows XP SP3 gedacht, was automatisch ein 32bit Chrome herunter läd.

Ist jetzt die Frage, was man da für eine aktuelle Version von Chrome für 64bit WIndows eintragen muss bzw. wo man an die Werte heran kommt. Habe da aber im Moment auch keinen Chrome installiert, um da mal nachforschen zu können.

Holgi
Grünschnabel
Grünschnabel
Beiträge: 34
Registriert: 12.05.2018, 12:33

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von Holgi » 06.03.2019, 12:11

man müsste also
platform=“win“ version=“5.1″ sp=“Service Pack 3″
ersetzen durch
platform=“win“ version=“6.1″ sp=“Service Pack 1″
ggf. auch "win64" ?? für die 64bit Version?!

Habe hier gerade noch ein paar Hinweise gefunden:
https://stadt-bremerhaven.de/chrome-50- ... chrome-50/
Interessant wäre zu wissen, wie man die URL im Browser oder wget bzw. bitsadmin eingeben muss, damit die Update-Datei gezogen wird.
Irgendwie wird dann wohl eine chrome_aktuell.exe gedownloadet, die entpackt eine Datei Chrome.7z ausspuckt. Diese kann man dann mit 7-Zip entpacken und praktisch schon am Ziel.

Benutzeravatar
Ben
★ Team Blog ★
Beiträge: 137
Registriert: 28.12.2017, 15:19
Geschlecht:

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von Ben » 09.03.2019, 18:19

Hallo Holgi
Vielleicht kann ich ein wenig helfen, zumindest habe ich es im Moment geschaft ein 64Bit Chrome herunter zu laden und auch zu entpacken. Habe ich mit dem Chrome Installer aus dem von dir geposteten google drive link. der chrome Installer ist in den Portable Chrome Dateien enthalten. Diesen habe ich mit Exe2Aut etpackt damit ich das funktionierende Script für die 32Bit Versionen zu haben, um damit herum zu Spielen. Näheres vielleicht Später oder in ein paar Tagen.

Gruß, Ben

Benutzeravatar
Ben
★ Team Blog ★
Beiträge: 137
Registriert: 28.12.2017, 15:19
Geschlecht:

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von Ben » 09.03.2019, 22:37

Hallo Holgi
Ich habe es geschafft das ich den Chrome Browser in den x86 und x64 Dev, Beta und Stable Versionen zu downloaden und zu entpacken.
Den Chromium was da noch mit im Script war habe ich entfernt da der download nicht funktionierte.
Das Script basiert immer noch auf dem AutoIT Script, habe davon auch zwei EXE Dateien erstellt.
Die "Chrome Updater x86-x64 Einzelne Chrome Ordner.exe" erstellt für jedes Version einen Eigenen Ordner.

Code: Alles auswählen

Chrome Dev x86
Chrome Dev x64
Chrome Beta x86
Chrome Beta x64
Chrome Stable x86
Chrome Stable x64
Die "Chrome Updater x86-x64 Nur Chrome Ordner.exe" erstellt nur den Chrome Ordner so wie das Ursprüngliche Script.
In die Angehängte 7.z Datei habe ich beiden EXE_Dateien und die jeweiligen .au3 dazu gepackt.
Die .au3 Dateien sind nur dafür da falls du dir selbst noch eine EXE basteln willst dafür ist auch noch die 7za.exe dabei.

Vor allem ist diese Request Zeile Neu die ich bei der Installation des Online Installers des Chrome Stable mit Whireshark abgefangen habe und für die DEV und Beta Versionen entsprechend abgeändert habe.

Code: Alles auswählen

$data = '<?xml version="1.0" encoding="UTF-8"?><request protocol="3.0" updater="Omaha" updaterversion="1.3.33.23" shell_version="1.3.33.23" ismachine="0" sessionid="{11111111-1111-1111-1111-111111111111}" requestid="{11111111-1111-1111-1111-111111111111}"><os platform="win" version="6.1" sp="" arch="x64"/><app appid="{8A69D345-D564-463C-AFF1-A69D9E530F96}" version="" ap="x64-stable-statsdef_1" lang="de" brand="" client="" iid="{11111111-1111-1111-1111-111111111111}"><updatecheck/></app></request>'
Aufgrund des Protokolls 3.0 musste ich auch noch zusätzlich ein paar andere Zeilen Einfügen und ändern.

Code: Alles auswählen

$position = StringInStr($body, "codebase=")
$urltmp = StringMid($body, $position + 10, StringLen($body) - $position - 10)
$position2 = StringInStr($body, "run=")
$urltmp2 = StringMid($body, $position2 + 5, StringLen($body) - $position2 - 5)
$url = StringSplit($urltmp, '"')
$url2 = StringSplit($urltmp2, '"')

Code: Alles auswählen

$update_url = $url[1] & $url2[1]
Weiter Informationen zum Omaha Protokoll 3.0 habe ich hier gefunden.
https://github.com/google/omaha/tree/master/doc

Es gibt in dem Script befehle für die Commandline z.B.

Code: Alles auswählen

"Chrome Updater x86-x64 Nur Chrome Ordner.exe" dev86
Dies lädt und Installiert die Aktuelle Chrome x86 Developer Version.
diese Befehle gibt es.

Code: Alles auswählen

dev86      ==   Chrome x86 Developer
beta86     ==   Chrome x86 Beta
release86  ==   Chrome x86 Stable
dev64      ==   Chrome x64 Developer
beta64     ==   Chrome x64 Beta
release64  ==   Chrome x64 Stable
Hoffe das Passt so!

Gruß, Ben
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Holgi
Grünschnabel
Grünschnabel
Beiträge: 34
Registriert: 12.05.2018, 12:33

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von Holgi » 10.03.2019, 13:26

Hallo Ben,

echt super! Vielen, vielen Dank. :dankeschoen:
Ich verstehe zwar nicht alles, was du geschrieben hast. Aber egal: es funktioniert! :daumen:
Toll, dass du das hinbekommen hast.
Wenn ich es richtig verstehe, dann funktioniert dieser Updater wohl nur solange, wie Google nichts an den "Adressen?" ändert, oder?
Dazu die passende Frage:
gibt es so eine Art URL, die man im Browser eingeben kann, um sich die entsprechenden Dateien zu ziehen, oder wie funktioniert das überhaupt?
Anschlussfrage:
könnte man das auch über ein cmd- oder Powershellscript erreichen (was dann abwandelbar wäre, wenn sich "Adressen" ändern) oder geht das nur über Omaha?
Das mit der Exe2Aut hatte ich übrigens auch versucht, bin da aber nicht weitergekommen. Da war immer nur so ein laufender "Balken", aber es kam nicht zu Abschluss. Habe dann irgendwann abgebrochen.
Liebe Grüße
Holgi

Benutzeravatar
Ben
★ Team Blog ★
Beiträge: 137
Registriert: 28.12.2017, 15:19
Geschlecht:

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von Ben » 10.03.2019, 14:58

Hallo Holgi

Zu der Frage ob es eine download Adresse gibt für die Eingabe in den Browser muss ich leider Jein sagen.
Teile davon ändern sich mit erscheinen einer neuen Version von Chrome.
Im Script wird hier

Code: Alles auswählen

$hw_open = _winhttpopen()
$hw_connect = _winhttpconnect($hw_open, "tools.google.com")
$h_openrequest = _winhttpopenrequest($hw_connect, "POST", "/service/update2", "HTTP/1.1", "http://tools.google.com/")
_winhttpsendrequest($h_openrequest, "Content-Type: application/x-www-form-urlencoded" & @CRLF, $data)
_winhttpreceiveresponse($h_openrequest)
mit dieser Requestzeile eine anfrage an den den Google Server geschickt.

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
 <request protocol="3.0" updater="Omaha" updaterversion="1.3.33.23" shell_version="1.3.33.23" ismachine="0" sessionid="{11111111-1111-1111-1111-111111111111}" requestid="{11111111-1111-1111-1111-111111111111}">
  <os platform="win" version="6.1" sp="" arch="x64"/>
  <app appid="{8A69D345-D564-463C-AFF1-A69D9E530F96}" version="" ap="x64-stable-statsdef_1" lang="de" brand="" client="" iid="{11111111-1111-1111-1111-111111111111}">
  <updatecheck/>
  </app>
 </request>
Worauf hin dieser dies als Antwort zurückschickt.

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<response protocol="3.0" server="prod">
  <daystart elapsed_days="4451" elapsed_seconds="19012"/>
   <app appid="{8A69D345-D564-463C-AFF1-A69D9E530F96}" cohort="1:gu/i19:" cohortname="Stable Installs Only" status="ok">
    <updatecheck status="ok">
     <urls>
      <url codebase="http://redirector.gvt1.com/edgedl/release2/chrome/AJFHgt6Uc-4G_72.0.3626.121/"/>
      <url codebase="https://redirector.gvt1.com/edgedl/release2/chrome/AJFHgt6Uc-4G_72.0.3626.121/"/>
      <url codebase="http://dl.google.com/release2/chrome/AJFHgt6Uc-4G_72.0.3626.121/"/>
      <url codebase="https://dl.google.com/release2/chrome/AJFHgt6Uc-4G_72.0.3626.121/"/>
      <url codebase="http://www.google.com/dl/release2/chrome/AJFHgt6Uc-4G_72.0.3626.121/"/>
      <url codebase="https://www.google.com/dl/release2/chrome/AJFHgt6Uc-4G_72.0.3626.121/"/>
     </urls>
     <manifest version="72.0.3626.121">
      <actions>
       <action arguments="--verbose-logging --do-not-launch-chrome" event="install" run="72.0.3626.121_chrome_installer.exe"/>
       <action Version="72.0.3626.121" event="postinstall" onsuccess="exitsilentlyonlaunchcmd"/>
      </actions>
       <packages>
        <package fp="1.5eda7e09801d25603145f253310eb88e1ed616aa087e650785c4530253bcbe46" hash="re0SUpFxSXtRoX+z1jVYoudKQ4s=" hash_sha256="5eda7e09801d25603145f253310eb88e1ed616aa087e650785c4530253bcbe46" name="72.0.3626.121_chrome_installer.exe" required="true" size="55019776"/>
       </packages>
     </manifest>
   </updatecheck>
  </app>
</response>
In dieser Antwort steht dann darin welche Download Adressen benutzt werden können und welche Version von Chrome aktuell ist.
Das ganze ist jetzt aus der Sicht vom Stable Chrome x64.
Darin sieht man dann das, das veränderbare Variablen sind.

Code: Alles auswählen

AJFHgt6Uc-4G_72.0.3626.121
72.0.3626.121_chrome_installer.exe
Am Ende wäre das dann die Download Adresse

Code: Alles auswählen

http://redirector.gvt1.com/edgedl/release2/chrome/AJFHgt6Uc-4G_72.0.3626.121/72.0.3626.121_chrome_installer.exe

Das Script sollte bis auf weiteres funktionieren außer sie ändern etwas an dem wie man die Anfrage an den Server stellt um die Downloadlinks zu bekommen.

Besser kann ich es leider nicht erklären.
Vielleicht kann ja @DK2000 das besser erklären, denn ich bin nicht wirklich ein Profi in solchen Dingen. Ich verstehe nur ein wenig die zusammenhänge wo in den Scripts was hin läuft und was es machen soll. Alles andere ist nur Basteln und Testen, deshalb hat es auch ein Paar Tage gedauert bis ich etwas brauchbares zusammengeschustert habe.

Und zur Frage ob das auch per CMD oder Powershell funktioniert keine Ahnung :kopfkratz: :-/

Gruß, Ben

Benutzeravatar
Ben
★ Team Blog ★
Beiträge: 137
Registriert: 28.12.2017, 15:19
Geschlecht:

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von Ben » 11.03.2019, 17:16

Hallo Holgi
Sorry das ich dich schon wieder störe. Aber ich habe ein wenig mit der GUI gespielt, und ich denke das Ergebnis kann sich sehen lassen. Ansonsten habe ich nicht verändert.
Chrome Updater.jpg
Gruß, Ben
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
moinmoin
★ Team Admin ★
Beiträge: 43711
Registriert: 14.11.2003, 11:12
Geschlecht:

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von moinmoin » 11.03.2019, 17:52

Hab das mal neugierigerweise ausprobiert. Einfach mal gestartet. Aber egal ob Dev oder Beta, er zeigt unter Über Google die Version 74.0.3724.8 (Offizieller Build) (64-Bit) an, obwohl der Ordner Chrome Dev angelegt wird. :kopfkratz:
Bild
Deskmodder findet ihr bei: Google+ | Twitter | Facebook Windows 10 Tipps und Tricks: Tutorials Windows 10.

Benutzeravatar
Ben
★ Team Blog ★
Beiträge: 137
Registriert: 28.12.2017, 15:19
Geschlecht:

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von Ben » 11.03.2019, 18:00

Sorry habe ich wohl einen Copy&Paste Fehler drin muss ich später noch mal machen.

Edit: Sorry aber bei mir bekomme ich für Dev die 74.0.3724.8, für Beta die 73.0.3683.67 und als Stable die 72.0.3626.121 gedownloadet.
Und das auch im entsprechenden Ordner bei der Version die für jede Chrome Version einen Ordner anlegt.

Benutzeravatar
moinmoin
★ Team Admin ★
Beiträge: 43711
Registriert: 14.11.2003, 11:12
Geschlecht:

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von moinmoin » 11.03.2019, 18:25

Komisch nu hats geklappt. Sorry. :oops:
Bild
Deskmodder findet ihr bei: Google+ | Twitter | Facebook Windows 10 Tipps und Tricks: Tutorials Windows 10.

Holgi
Grünschnabel
Grünschnabel
Beiträge: 34
Registriert: 12.05.2018, 12:33

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von Holgi » 11.03.2019, 19:07

Danke Ben!
Jo, sieht echt schick aus!
Und nein, du störst nie. :kopfstreichel:

Benutzeravatar
Ben
★ Team Blog ★
Beiträge: 137
Registriert: 28.12.2017, 15:19
Geschlecht:

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von Ben » 11.03.2019, 22:15

Noch eine neu Version nun mit Chrome Canary download möglichkeit.

Geänderte Command-line Befehle

Code: Alles auswählen

canary86   ==  Chrome x86 Canary
canary64   ==  Chrome x64 Canary
dev86      ==  Chrome x86 Developer
dev64      ==  Chrome x64 Developer
beta86     ==  Chrome x86 Beta
beta64     ==  Chrome x64 Beta
stable86   ==  Chrome x86 Stable
stable64   ==  Chrome x64 Stable
Chrome Portable Updater mit Canary.jpg
Gruß, Ben
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
Ben
★ Team Blog ★
Beiträge: 137
Registriert: 28.12.2017, 15:19
Geschlecht:

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von Ben » 12.03.2019, 14:58

Download der englischen Chrome Version?
Keine Ahnung ob es funktioniert.


Edit: Lädt bei beiden Versionen die selbe Sprache herunter. Entscheidend für die Anzeigesprache ist die Systemsprache von Windows.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
Ben
★ Team Blog ★
Beiträge: 137
Registriert: 28.12.2017, 15:19
Geschlecht:

Re: Google Chrome Portable Updater; AutoIT Kenntnisse gesucht

Beitrag von Ben » 13.03.2019, 14:22

@moinmoin
So auf Anregung von Rush habe ich mal einen Updater für die Version mit den Einzelnen Ordnern gemacht. Bei der die Auswahl-GUI offen bleibt bis man sie selbst schließt. Auch habe ich die Zuordnung der Elemente in der GUI mal anders im Script geschrieben, könnte das vielleicht mal jemand auf einem 4K-Monitor testen dafür wäre ich sehr Dankbar. Da Rush ja geschrieben hatte die GUI würde nicht richtig dargestellt.
Chrome Portable Updater Einzel.jpg
Gruß, Ben
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten