tis-chrome icon

Google Chrome

Paquet d’installation silencieuse pour Google Chrome

109.0.5414.75-31

  • package: tis-chrome
  • name: Google Chrome
  • version: 109.0.5414.75-31
  • categories: Internet
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ,Simon FONTENEAU
  • editor: Google
  • licence: Freeware
  • locale: all
  • target_os: windows
  • impacted_process: chrome,GoogleUpdate,chrome_proxy,GoogleCrashHandler64,GoogleCrashHandler,chrome_installer,chrmstp,old_chrome,chrome_pwa_launcher,GoogleUpdateComRegisterShell64,GoogleUpdateBroker,GoogleUpdateOnDemand
  • architecture: x64
  • signature_date:
  • size: 95.92 Mo
  • homepage : https://www.google.com/chrome/

package           : tis-chrome
version           : 109.0.5414.75-31
architecture      : x64
section           : base
priority          : optional
name              : Google Chrome
categories        : Internet
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ,Simon FONTENEAU
description       : Google Chrome is a web browser created by Google and based on the open source project Chromium
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.0
sources           : https://cloud.google.com/chrome-enterprise/browser/download/
installed_size    : 
impacted_process  : chrome,GoogleUpdate,chrome_proxy,GoogleCrashHandler64,GoogleCrashHandler,chrome_installer,chrmstp,old_chrome,chrome_pwa_launcher,GoogleUpdateComRegisterShell64,GoogleUpdateBroker,GoogleUpdateOnDemand
description_fr    : Google Chrome est un navigateur web créé par Google et basé sur le projet open source Chromium
description_pl    : Google Chrome to przeglądarka internetowa stworzona przez Google i oparta na projekcie open source Chromium
description_de    : Google Chrome ist ein von Google entwickelter Webbrowser, der auf dem Open-Source-Projekt Chromium basiert
description_es    : Google Chrome es un navegador web creado por Google y basado en el proyecto de código abierto Chromium
description_pt    : Google Chrome é um navegador web criado pela Google e baseado no projecto de código-fonte aberto Chromium
description_it    : Google Chrome è un browser web creato da Google e basato sul progetto open source Chromium
description_nl    : Google Chrome is een webbrowser gemaakt door Google en gebaseerd op het open source project Chromium
description_ru    : Google Chrome - это веб-браузер, созданный компанией Google и основанный на проекте Chromium с открытым исходным кодом
audit_schedule    : 
editor            : Google
keywords          : browser,navigateur,google,chrome,chromium
licence           : Freeware
homepage          : https://www.google.com/chrome/
package_uuid      : beb77966-52e8-4d2a-a98b-bb33ce244377
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://chromereleases.googleblog.com/
min_os_version    : 6.1
max_os_version    : 
icon_sha256sum    : 057315a8260cf30af51ee9b8dd8fbdf10a0f0ffb9825e7409be03e3c9ae9d552
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature         : V4gxEJQwPDVbVUfmVgjY1CGAlU6O82XxI7v6dOooQK7CAn4+izA5GuE/LF2laH1Z7sr9A83TvDu/r1wQrtq3Ub5afUTGXvmVZLBMVaR+FSXdgdO49/vSdVn/lBJBcp1iAgXbLoFh/0LOO26yQ9ZiUvaE7yiFiane52eFI9yq6Eyz3Jzq0lYyDg2sj5ohMDN7WoxbQKpbhzMAduo40WgG4BheouobGbRrOPCIwH5bBJlximnYYHf+wsWGEqEloj9f8B0GkG+jIVVZlaKb+vSVojCit3klCeiziKhLzF56O6/3BUMxC6WXdWwV1VR/mdbW5lc+qXDSABR5/L5ypeLf4Q==
signature_date    : 2023-01-10T21:00:14.437177
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes

# -*- coding: utf-8 -*-
from setuphelpers import *

# Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_name_string = "googlechromestandaloneenterprise64_%s.msi"
silent_args_dict = {"NOGOOGLEUPDATING": 1, "NOGOOGLEUPDATEPING": 1}
app_schtasks_list = ["GoogleUpdateTaskMachineCore", "GoogleUpdateTaskMachineUA"]
app_services_list = ["GoogleChromeElevationService", "gupdate", "gupdatem"]


def install():
    # Declaring local variables
    package_version = control.version.split("-", 1)[0]
    bin_name = bin_name_string % package_version
    skip = False
    if isdir(makepath(programfiles32, "Google", "Chrome", "Application")):
        chrome_app_path = makepath(programfiles32, "Google", "Chrome", "Application")
    else:
        chrome_app_path = makepath(programfiles, "Google", "Chrome", "Application")
    chrome_bin_path = makepath(chrome_app_path, "chrome.exe")
    uninstallkey_from_file = get_msi_properties(bin_name)["ProductCode"]

    def get_version_chrome(key):
        return get_file_properties(chrome_bin_path)["ProductVersion"]

    # Installing the package
    if isfile(chrome_bin_path):
        if Version(get_version_chrome(None)) >= Version(package_version):
            if uninstall_key_exists(uninstallkey_from_file):
                uninstallkey.append(uninstallkey_from_file)
            skip = True

    if (not skip) or force:
        print("Installing: %s" % bin_name)
        install_msi_if_needed(
            bin_name,
            properties=silent_args_dict,
            min_version=package_version,
            get_version=get_version_chrome,
            killbefore=control.impacted_process.split(","),
        )

    # Disabling application scheduled tasks
    for task in app_schtasks_list:
        if task_exists(task):
            try:
                disable_task(task)
            except:
                print("Unable to disable the task: %s" % task)

    # Changing default start mode of the application services
    for service_name in app_services_list:
        if service_installed(service_name):
            if get_service_start_mode(service_name) != "Manual":
                try:
                    set_service_start_mode(service_name, "Manual")
                    if service_is_running(service_name):
                        try:
                            service_stop(service_name)
                        except:
                            print("Unable to stop the service: %s" % service_name)
                except:
                    print("Unable to set start mode of the service: %s" % service_name)

    # Disabling Google Chrome Auto-Update and Telemetry
    registry_setstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Google\Update", "UpdateDefault", 0, type=REG_DWORD)
    registry_setstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Google\Update", "DisableAutoUpdateChecksCheckboxValue", 1, type=REG_DWORD)
    registry_setstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Google\Update", "AutoUpdateCheckPeriodMinutes", 0, type=REG_DWORD)
    registry_setstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Explorer\DisallowRun", "chrome_telemetry", "Software_Reporter_Tool.exe", type=REG_SZ)

    # Adding master preferences file
    filecopyto("master_preferences", chrome_app_path)


def uninstall():
    if isdir(makepath(programfiles32, "Google", "Chrome", "Application")):
        chrome_app_path = makepath(programfiles32, "Google", "Chrome", "Application")
    else:
        chrome_app_path = makepath(programfiles, "Google", "Chrome", "Application")
    chrome_bin_path = makepath(chrome_app_path, "chrome.exe")

    # Uninstalling the package
    if uninstall_key_exists("Google Chrome"):
        if not "msiexec" in " ".join(list(uninstall_cmd("Google Chrome"))).lower():
            versionsoft = get_file_properties(chrome_bin_path)["ProductVersion"]
            run(
                '"%s" --uninstall --system-level --force-uninstall --qn'
                % makepath(install_location("Google Chrome"), versionsoft, "Installer", "setup.exe"),
                accept_returncodes=[19],
            )


def session_setup():
    # Declaring local variables
    swreporter_path = makepath(user_local_appdata, "Google", "Chrome", "User Data", "SwReporter")

    print("Disabling: Telemetry")
    if isdir(swreporter_path):
        remove_tree(swreporter_path)

# -*- coding: utf-8 -*-
from setuphelpers import *
import msilib
import json

def update_package():
    # Declaring local variables
    result = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name

    url_api = "http://omahaproxy.appspot.com/all.json?os=win64&channel=stable"
    url_dl = "https://dl.google.com/tag/s/dl/chrome/install/googlechromestandaloneenterprise64.msi"

    # Getting latest informations from official Google API
    json_load = json.loads(wgets(url_api, proxies=proxies))
    version = json_load[0]["versions"][0]["version"]
    latest_bin = "googlechromestandaloneenterprise64_%s.msi" % version

    print("Latest %s version is: %s" % (app_name, version))
    print("Download url is: %s" % url_dl)

    # Downloading latest binaries
    if not isfile(latest_bin):
        print("Downloading: " + latest_bin)
        wget(url_dl, latest_bin, proxies=proxies)

        # Get version from description msi
        db = msilib.OpenDatabase(latest_bin, msilib.MSIDBOPEN_READONLY)
        db.GetSummaryInformation(1)
        description = db.GetSummaryInformation(1).GetProperty(6)
        msiversion = ensure_unicode(description).split(" ", 1)[0]

        if msiversion != version:
            remove_file(latest_bin)
            error("The version returned by the API and the version returned by the msi does not match")

    # Changing version of the package
    if Version(version) > control.get_software_version():
        print("Software version updated from: %s to: %s" % (control.get_software_version(), Version(version)))
        result = True
    control.version = "%s-%s" % (Version(version), control.version.split("-", 1)[-1])
    # control.set_software_version(Version(version))
    control.save_control_to_wapt()

    # Deleting outdated binaries
    remove_outdated_binaries(version)

    # Validating update-package-sources
    return result

5f65e9a5c65b28aac1c18b8a8d210e41df5f8294d7e62739c913e75aa07a8df1 : setup.py
abac0c00e558e04fc4885b949d081ef5b294bc531870ce572bc4285422e49292 : update_package.py
057315a8260cf30af51ee9b8dd8fbdf10a0f0ffb9825e7409be03e3c9ae9d552 : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
9c09b95899ff764b4784b3448e4132cadb147405caaf9c826530bb200a990867 : luti.json
240131b6f9674c00b451765fa69bfc50aa80b43d1af46f59c293c8328121a1b5 : master_preferences
6b9d7d0f4889924ca55f02b7b39b91d646ed497cc59b4187e0c28fc5b96474e7 : googlechromestandaloneenterprise64_109.0.5414.75.msi
e8a42c2744a2a420142e3b948e339a8c39807185f9938ef54fe14221c2955553 : WAPT/control