tis-thunderbird icon

Mozilla Thunderbird

Paquet d’installation silencieuse pour Mozilla Thunderbird

140.1.0-67

  • package: tis-thunderbird
  • name: Mozilla Thunderbird
  • version: 140.1.0-67
  • categories: Messaging,Utilities
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ
  • editor: Mozilla
  • licence: MPL1.1,GPLv2.0,LGPLv2+
  • locale: fr
  • target_os: windows
  • impacted_process: thunderbird
  • architecture: x64
  • signature_date:
  • size: 74.49 Mo
  • homepage : https://www.thunderbird.net

package           : tis-thunderbird
version           : 140.1.0-67
architecture      : x64
section           : base
priority          : optional
name              : Mozilla Thunderbird
categories        : Messaging,Utilities
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ
description       : Mozilla Thunderbird is a free and open-source cross-platform email client, news client, RSS, and chat client developed by the Mozilla Foundation
depends           : 
conflicts         : 
maturity          : PROD
locale            : fr
target_os         : windows
min_wapt_version  : 2.0
sources           : https://www.thunderbird.net/thunderbird/all/
installed_size    : 
impacted_process  : thunderbird
description_fr    : Mozilla Thunderbird est un client de messagerie, libre, distribué gratuitement par la fondation Mozilla
description_pl    : Mozilla Thunderbird to darmowy i open-source'owy, wieloplatformowy klient poczty elektronicznej, klient wiadomości, RSS i klient czatu opracowany przez Fundację Mozilla
description_de    : Mozilla Thunderbird ist ein kostenloser und quelloffener, plattformübergreifender E-Mail-, News-, RSS- und Chat-Client, der von der Mozilla Foundation entwickelt wurde
description_es    : Mozilla Thunderbird es un cliente de correo electrónico multiplataforma, cliente de noticias, RSS y chat gratuito y de código abierto desarrollado por la Fundación Mozilla
description_pt    : Mozilla Thunderbird é um cliente de correio electrónico gratuito e de código aberto, cliente de notícias, RSS, e cliente de chat desenvolvido pela Fundação Mozilla
description_it    : Mozilla Thunderbird è un client di posta elettronica multipiattaforma, client di notizie, RSS e chat gratuito e open-source sviluppato dalla Mozilla Foundation
description_nl    : Mozilla Thunderbird is een gratis en open-source cross-platform e-mail client, nieuws client, RSS, en chat client ontwikkeld door de Mozilla Foundation
description_ru    : Mozilla Thunderbird - это бесплатный кросс-платформенный почтовый клиент с открытым исходным кодом, клиент новостей, RSS и чат-клиент, разработанный Mozilla Foundation
audit_schedule    : 
editor            : Mozilla
keywords          : mail,messagerie,imap,pop
licence           : MPL1.1,GPLv2.0,LGPLv2+
homepage          : https://www.thunderbird.net
package_uuid      : 4b3dbf66-20e4-4c49-95c0-4f77d05dd491
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.thunderbird.net/thunderbird/releases/
min_os_version    : 10
max_os_version    : 
icon_sha256sum    : 609ac33692bb582fac2b933f063259445f4b76d8d8d02bf49b381811ddb5641e
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-07-22T19:18:22.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         : mUhM85+XZYnarJuteUmxCkNWttPFAxDGRbzBolk58C8srEfoQKMULYKfN7iLZL7flIsANGfmhcNXbuIVbCf/XNGEhNaqA4EIRwCesB8xEGZF3h6kb4fVBcSyrXJXWOgRnlRFc3Xhzcilm0mHPazacmpa//SBqRt/9UuOISDJSY9fW99CO2+qRAS2gj2VlXrvvGVa62K66ffyH3k7owCg2zajostXGdiHU/OqWKnZNw0OyeY2/q8J9sS4/MscC+BF+nlg1XpGnOHrWcPJBXRMTigzoRq5JwHtucX1pM6AvLaNgKLdZYZOvqq2UkwCd2VqTu80gqxUH5xc78GF0MHu4A==

# -*- coding: UTF-8 -*-
from setuphelpers import *
import requests

r"""

Installation procedure: https://firefox-source-docs.mozilla.org/browser/installer/windows/installer/FullConfig.html

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls

silent_args = "/S /PreventRebootRequired=false /TaskbarShortcut=false /DesktopShortcut=false /StartMenuShortcut=true /MaintenanceService=false /RegisterDefaultAgent=false /RemoveDistributionDir=false /OptionalExtensions=false"
list_lang = ["it", "fr", "en-US", "es-ES", "de"]
policies_path = makepath(programfiles, "Mozilla Thunderbird", "distribution", "policies.json")


def install():
    # Initializing variables
    package_version = control.version.split("-")[0]
    bin_name = glob.glob('*.exe')[0]
    app_arch = control.architecture
    app_processes_list = control.impacted_process.split(",")
    # Translating arch
    if app_arch == "x64":
        arch_to_uninstall = "x86"
    else:
        arch_to_uninstall = "x64"
    # Translating locale
    for lang in list_lang:
        if control.locale in lang:
            locale = lang
    app_uninstallkey = "Mozilla Thunderbird %s (%s %s)" % (package_version, app_arch, locale)

    # Uninstalling others versions
    for uninstall in installed_softwares(name="Mozilla Thunderbird"):
        if arch_to_uninstall in uninstall["name"]:
            print("Removing: %s" % (uninstall["name"]))
            killalltasks(app_processes_list)
            run(uninstall_cmd(uninstall["key"]))
            wait_uninstallkey_absent(uninstall["key"])

    # Installing the package
    print("Installing: %s" % bin_name)
    install_exe_if_needed(bin_name, silentflags=silent_args, key=app_uninstallkey, min_version=package_version)

    # Making sure that Mozilla Maintenance Service is not installed
    for uninstall in installed_softwares(name="Mozilla Maintenance Service"):
        print("Removing: %s" % (uninstall["name"]))
        run(uninstall_cmd(uninstall["key"]))

    # Adding Minimal configuration for Thunderbird you may use the package "tis-config-thunderbird" for further options
    if not isfile(policies_path):
        registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Mozilla\Thunderbird", "DisableAppUpdate", 1, REG_DWORD)
        registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Mozilla\Thunderbird", "DisableTelemetry", 1, REG_DWORD)


def update_package():
    # Declaring local variables
    result = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name
    arch = {"x64": "win64", "x86": "win", "all": "win"}

    # Downloading
    lang = control.locale
    # Translating locale
    if "en" in lang:
        lang = "en-US"
    if "es" in lang:
        lang = "es-ES"

    url_dl = requests.head(
        "https://download.mozilla.org/?product=thunderbird-latest&os=%s&lang=%s" % (arch[control.architecture], lang), proxies=proxies
    ).headers["Location"]
    latest_bin = url_dl.rsplit("/", 1)[1].replace("%20", "_")
    version = url_dl.split("/")[-4]

    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: %s" % latest_bin)
        wget(url_dl, latest_bin, proxies=proxies)

    # Changing version of the package
    if Version(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)
    control.save_control_to_wapt()

    # Deleting outdated binaries
    remove_outdated_binaries(version)

    # Validating update-package-sources
    return result

# -*- coding: UTF-8 -*-
from setuphelpers import *
import requests
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
    arch = {"x64": "win64", "x86": "win", "all": "win"}

    # Downloading
    lang = control.locale
    # Translating locale
    if "en" in lang:
        lang = "en-US"
    if "es" in lang:
        lang = "es-ES"

    url_dl = requests.head(
        "https://download.mozilla.org/?product=thunderbird-latest&os=%s&lang=%s" % (arch[control.architecture], lang), proxies=proxies
    ).headers["Location"]
    latest_bin = url_dl.rsplit("/", 1)[1].replace("%20", "_")
    version = url_dl.split("/")[-4]

    datajson = json.loads(wgets("https://product-details.mozilla.org/1.0/thunderbird_versions.json", proxies=proxies))
    version_from_api = datajson.get("THUNDERBIRD_ESR_NEXT", "")
    if not version_from_api:
        version_from_api = datajson["THUNDERBIRD_ESR"]

    url_dl = url_dl.replace(version, version_from_api)
    version = version_from_api.replace('esr','')
    latest_bin = url_dl.rsplit("/", 1)[1].replace("%20", "_")

    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: %s" % latest_bin)
        wget(url_dl, latest_bin, proxies=proxies)
        
    # Check signature bin
    expected_issuer = 'Mozilla Corporation'
    sign_name = waptlicences.check_msi_signature(latest_bin)[0]
    if sign_name != expected_issuer:
        error('Bad issuer %s != %s ' % (sign_name,expected_issuer))
        
    # Changing version of the package
    if Version(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)
    control.save_control_to_wapt()

    # Deleting outdated binaries
    remove_outdated_binaries(version)

    # Validating update-package-sources
    return result

49ec93ec797d9aa703ab32891370c24b494f4b8ef1fb6e33ce3b993b92134f75 : Thunderbird_Setup_140.1.0esr.exe
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
c5fa124a4bf91faddfc15b2a3ffc2b1f6d5832b49bd999d421b3d4ab0025aae6 : WAPT/control
609ac33692bb582fac2b933f063259445f4b76d8d8d02bf49b381811ddb5641e : WAPT/icon.png
2f93a797e3b04f16f35261853ffc66e2bc73182696e12be031454f8d59c220b5 : luti.json
b47f816c7a3fcb10d7e5a29b7eba866e0f78b9a596d099f30ca2edd4f492670b : setup.py
a973ede3d4464325d623767ea96d01ecf88ef8b89cbcb4fd66bbb57e944bd146 : update_package.py