tis-chrome icon

Google Chrome

Paquet d'installation silencieuse pour Google Chrome

149.0.7827.201-45
Internet
Internet

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-chrome
  • name: Google Chrome
  • version: 149.0.7827.201-45
  • 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: x64
  • signature_date:
  • size: 154.40 Mo
  • installed_size: 642.13 Mo
  • homepage : https://www.google.com/chrome/

package           : tis-chrome
version           : 149.0.7827.201-45
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          : PREPROD
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      : c9e10edf-b8ed-4bf1-8942-74339945ba7b
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://chromereleases.googleblog.com/
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : 057315a8260cf30af51ee9b8dd8fbdf10a0f0ffb9825e7409be03e3c9ae9d552
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-06-26T07:08:58.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         : XpAYy7/ujq8cU8/v/qFvfSlYG2qYPWdbhbePVw/M6tlL0yiKe4lckDPq5GwkPng01QIBP60KMPEMgvq7aMptVFv+vS36L9bWSGx5lfUuN3D2xqr7VBcSalWSLBPBVCRokUbBnp3hquMGrdx08Y8nFStGcIg7ubkaAH6Rvr7/x9Dcc3Wm/CZ1JofIsY8NeqGiALMYu6tiLpenMS4XAAYPm9U4RxYHyNIX+6dP36IJDCMFlMNX2OPQyGp1Yz6I2Hm7jhtEdZ24z0hK4SGIkGbSD4QppKWAIFYWftjJB+YwhcQoSTdCRVIUAv4R+oZr97Mnqc/CNGVdjndzJtvAfQWcGw==

# -*- 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 = "googlechromestandaloneenterprise64.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/googlechromestandaloneenterprise64.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

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
4f7bcaa3347cbf31854485bd7fa1266d1e3f77c377a2e493613176639eb01641 : WAPT/changelog.txt
ef34adfcc9d482457028a4d956528374896944cd6f922d9847ee94cdbb5d555b : WAPT/control
057315a8260cf30af51ee9b8dd8fbdf10a0f0ffb9825e7409be03e3c9ae9d552 : WAPT/icon.png
c21e704091c83328b186723f8d19285aa2006d20e7184c59c6ce53025d480e52 : googlechromestandaloneenterprise64.msi
fe8f202e53c9ffebddccac53acdcde65324f16fca6ea0bf9ad3d71875799a6c2 : luti.json
240131b6f9674c00b451765fa69bfc50aa80b43d1af46f59c293c8328121a1b5 : master_preferences
0cafcb295756190e77af3d727ac717e9dbf96f3534cbee14587f57f20a499757 : setup.py
6272f77434a8a0f6fefec3c01d9c5f3f87b609a4f03a0ca8f751fbb61b1dc975 : 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)