tis-chrome icon

Google Chrome

Paquet d’installation silencieuse pour Google Chrome

140.0.7339.128-44

  • package: tis-chrome
  • name: Google Chrome
  • version: 140.0.7339.128-44
  • categories: Internet
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ,Simon FONTENEAU
  • editor: Google
  • licence: proprietary_free
  • locale: all
  • target_os: windows
  • impacted_process: chrome,new_chrome,chrome_proxy,chrome_pwa_launcher,chrmstp
  • architecture: x86
  • signature_date:
  • size: 125.12 Mo
  • installed_size: 642.13 Mo
  • homepage : https://www.google.com/chrome/

package           : tis-chrome
version           : 140.0.7339.128-44
architecture      : x86
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.1
sources           : https://cloud.google.com/chrome-enterprise/browser/download/
installed_size    : 642125128
impacted_process  : chrome,new_chrome,chrome_proxy,chrome_pwa_launcher,chrmstp
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           : proprietary_free
homepage          : https://www.google.com/chrome/
package_uuid      : e66d5aeb-9a64-4da4-804d-4dae9610e0ed
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://chromereleases.googleblog.com/
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : 057315a8260cf30af51ee9b8dd8fbdf10a0f0ffb9825e7409be03e3c9ae9d552
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-09-10T00:37:49.000000
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
signature         : Pc2RK4DL52GI4Mj3t/gwiFxbiyhVYesdFD4lrPUv1MSgced232/9kf6RlwK167sDjNVqRr837tGsRGgIGA25rr3oIKsqTbuNdom5q8nTQRQVnKdV2nq2oft5xwQXZ25nArr8su/N02FvfLY5aHGpeoGHpSFx1wljCAOANKxhZc8Ygb1oRFXnU28ZwSSuTPThEs2yqfNvz91z0B0UdXZEAke6GoavU3MIM7ZQlCIv3jNtXr+nOe7GcDNwCtzOBNRSCedr+eGYOwr0h3DIAyz+oCZNgs/Tna+OJILg4F35MrVeebQMKIRjcVfqvectwHVP7CrZYhjl6AB+E/h6ENfg+g==

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

silent_args_dict = {"NOGOOGLEUPDATING": 1, "NOGOOGLEUPDATEPING": 1}
app_scheduled_tasks = ["GoogleUpdateTaskMachineCore", "GoogleUpdateTaskMachineUA"]
app_services = ["GoogleChromeElevationService", "gupdate", "gupdatem"]


def install():
    # Declaring local variables
    package_version = control.version.split("-", 1)[0]
    bin_name = "googlechromestandaloneenterprise.msi"
    skip = False

    uninstallkey_from_file = get_msi_properties(bin_name)["ProductCode"]

    def get_version_chrome(key):
        for path_test in [programfiles,programfiles32]:
            chrome_bin_path = makepath(path_test, "Google", "Chrome", "Application","chrome.exe")
            if isfile(chrome_bin_path):
                return get_file_properties(chrome_bin_path)["ProductVersion"]
        return '0'

    if windows_version() < WindowsVersions.Windows10:
        # Uninstalling newer versions of the software
        for to_uninstall in installed_softwares(name="^Google Chrome$"):
            if Version(to_uninstall["version"]) > Version(control.get_software_version()) or force:
                print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
                try:
                    killalltasks(control.get_impacted_process_list())
                    run(uninstall_cmd(to_uninstall["key"]))
                    wait_uninstallkey_absent(to_uninstall["key"])
                except Exception as e:
                    print(e)
                    print("Remove failed: %s (%s)\nContinuing..." % (to_uninstall["name"], to_uninstall["version"]))

    # Installing the package
    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,
        )

    # Disabling application scheduled tasks
    for task in get_all_scheduled_tasks():
        if task.split("{")[0] in app_scheduled_tasks:
            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:
        set_service_start_mode(service_name, "Manual")

    # 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 (instead, we recommend that you to create a package like tis-chrome-config)
    # 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")
    if isdir(swreporter_path):
        print("Removing: %s" % swreporter_path)
        remove_tree(swreporter_path)

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


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_dl = "https://dl.google.com/tag/s/dl/chrome/install/googlechromestandaloneenterprise.msi"
    latest_bin = url_dl.split("/")[-1]

    # Downloading latest binaries
    print("Download url is: %s" % url_dl)

    if isfile(latest_bin):
        remove_file(latest_bin)

    print("Downloading: " + latest_bin)
    wget(url_dl, latest_bin, proxies=proxies)

    # Check signature bin
    expected_issuer = 'Google LLC'
    sign_name = waptlicences.check_msi_signature(latest_bin)[0]
    if sign_name != expected_issuer:
        error('Bad issuer %s != %s ' % (sign_name,expected_issuer))

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

    # 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()

    # Validating update-package-sources
    return result

38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
4f7bcaa3347cbf31854485bd7fa1266d1e3f77c377a2e493613176639eb01641 : WAPT/changelog.txt
70d3058e888313b867fcdb5df8a1c2052144e07121209f8064275545d8e08f1f : WAPT/control
057315a8260cf30af51ee9b8dd8fbdf10a0f0ffb9825e7409be03e3c9ae9d552 : WAPT/icon.png
0d148e2e1bc76ce4657586f860dd7b52dc97b17d888a8f71f1249d48e60a6fe6 : googlechromestandaloneenterprise.msi
7992ab0fbce1319e8d243515024ff3639c7e7dcc7ed9242589ac90a09c376e83 : luti.json
240131b6f9674c00b451765fa69bfc50aa80b43d1af46f59c293c8328121a1b5 : master_preferences
8b6b2660db48f2f0b64f94bef4f2005b72056c3ae04bce7953ceea89addf8cfa : setup.py
7cd4483b55e11468dc68f6feb763fa47c9be3009e43f3eb2f2c09dd53a0523f6 : update_package.py

https://chromereleases.googleblog.com/
0-42
===
new_chrome must be used when software is upgrading from older major versions.


0-40
===
fix disable_task
no longer add a master_preferences file (instead, we recommend creating a package like tis-chrome-config instead)