tis-firefox icon

Mozilla Firefox

Silent install package for Mozilla Firefox

141.0.2-110

  • package: tis-firefox
  • name: Mozilla Firefox
  • version: 141.0.2-110
  • categories: Internet
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ
  • editor: Mozilla Foundation,Mozilla Corporation
  • licence: MPL 2.0
  • locale: en
  • target_os: windows
  • impacted_process: firefox
  • architecture: x86
  • signature_date:
  • size: 70.79 Mo
  • homepage : https://www.mozilla.org/
  • conflicts :

package           : tis-firefox
version           : 141.0.2-110
architecture      : x86
section           : base
priority          : optional
name              : Mozilla Firefox
categories        : Internet
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ
description       : Mozilla Firefox is a free and open-source web browser
depends           : 
conflicts         : tis-firefox-esr,tis-firefox-multi-esr,tis-firefox-multi
maturity          : PROD
locale            : en
target_os         : windows
min_wapt_version  : 2.3
sources           : https://www.mozilla.org/firefox/all/#product-desktop-release
installed_size    : 
impacted_process  : firefox
description_fr    : Mozilla Firefox est un navigateur web gratuit et open source
description_pl    : Mozilla Firefox to darmowa i open-source'owa przeglądarka internetowa
description_de    : Mozilla Firefox ist ein kostenloser und quelloffener Webbrowser
description_es    : Mozilla Firefox es un navegador web gratuito y de código abierto
description_pt    : Mozilla Firefox é um navegador web gratuito e de código aberto
description_it    : Mozilla Firefox è un browser web gratuito e open-source
description_nl    : Mozilla Firefox is een gratis en open-source webbrowser
description_ru    : Mozilla Firefox - бесплатный веб-браузер с открытым исходным кодом
audit_schedule    : 
editor            : Mozilla Foundation,Mozilla Corporation
keywords          : web,browser,navigateur,firefox,mozilla
licence           : MPL 2.0
homepage          : https://www.mozilla.org/
package_uuid      : 90ce1d2d-b325-4c1f-8db6-2d5f1c07dd45
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.mozilla.org/firefox/releases/
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : 2dc82eade364831757e067169d0039e6e0c9b693f343ea9a62db709eb1942c9e
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-08-05T17:01:08.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         : uvqGEpnzv0+kiSYkvclLeAtEHHaRTiVE7IT0IQi/4RsF0yy0Dq6bAY83srjyClVz2ijPSuFHxJ2+zPkfG/kxwnJCg33IF9M4+PpIk5dqpgcWYH7oUHMdSHbeSJBV2bCqFQjFXSPYfFfPvjRv96LVyNaruIeWcl0pAtI8TxNAz9O4HkA51mnnyF/+/E31oa8caRyI9flyX7bfmRLMODAyeCanLBlV938nn3X7FZpx16H/GOdVX6WIEPfPkcMwfICMipU5XndZovPfpXQ+DiZRPpWk/cfGiDDtxeL73dalMtTjIzJoprzP3UieQzCIPmiH20sO8w4yaWGiS+MGMk6wfQ==

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


def install():
    bin_name = glob.glob("Firefox_Setup_*.exe")[0]

    # Translating locale
    for lang in ["fr", "en-US", "es-ES", "de", "it"]:
        if control.locale in lang:
            locale = lang
    app_uninstallkey = "Mozilla Firefox %s (%s %s)" % (control.get_software_version(), control.architecture, locale)

    # Uninstalling others versions
    for uninstall in installed_softwares(name="Mozilla Firefox"):
        if not control.architecture in uninstall["name"] or "ESR" in uninstall["name"]:
            print("Removing: %s" % (uninstall["name"]))
            killalltasks(control.get_impacted_process_list())
            run(uninstall_cmd(uninstall["key"]))
            time.sleep(15)  # Required for Firefox

    # Installing the software
    install_exe_if_needed(
        bin_name,
        silentflags="/S /PreventRebootRequired=false /TaskbarShortcut=false /DesktopShortcut=false /StartMenuShortcut=true /MaintenanceService=false /RegisterDefaultAgent=false /RemoveDistributionDir=false /OptionalExtensions=false",
        key=app_uninstallkey,
        min_version=control.get_software_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 Firefox you may use the package "tis-config-firefox" for further options
    if not isfile(makepath(programfiles, "Mozilla Firefox", "distribution", "policies.json")):
        registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Mozilla\Firefox", "DisableAppUpdate", 1, REG_DWORD)
        registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Mozilla\Firefox", "DisableTelemetry", 1, REG_DWORD)

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

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

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

    # Getting latest version from official sources
    download_url = requests.head(
        "https://download.mozilla.org/?product=firefox-latest-ssl&os=%s&lang=%s" % (arch_dict[control.architecture], lang), proxies=proxies
    ).headers["Location"]
    latest_bin = download_url.rsplit("/", 1)[1].replace("%20", "_")
    version = download_url.split("/")[-4]

    # Downloading latest binaries
    print("Latest %s version is: %s" % (app_name, version))
    print("Download URL is: %s" % download_url)
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print("Binary is present: %s" % latest_bin)
        
    # 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)))
        package_updated = True
    else:
        print("Software version up-to-date (%s)" % Version(version))
    control.set_software_version(version)
    control.save_control_to_wapt()

    # Deleting outdated binaries
    remove_outdated_binaries(version)

    # Validating or not update-package-sources
    return package_updated

3375e6449ad35258f7eab734931d9481c5d1b74c5b48e26e97af27d671684caf : Firefox_Setup_141.0.2.exe
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
7bb1cb4f17ef6228e903d38f2053566b976f113e4a3b5420b88528e9ee4fe040 : WAPT/control
2dc82eade364831757e067169d0039e6e0c9b693f343ea9a62db709eb1942c9e : WAPT/icon.png
324c1e4c244d82c130d0d2ddf6e90c2530fd1645a26f9b89359c8764ec0567b7 : luti.json
09c9e6c495f044c6f24d5eec30f462ff1343cc6081a5dbeeccd8775ed1261d3e : setup.py
7ebc605ecbfd4d325b7db9c182eeba542224c8e731d4a53587f8879f5bff2d4c : update_package.py