tis-vivaldi icon

Vivaldi Installer

Paquet d’installation silencieuse pour Vivaldi Installer

7.8.3925.56-1

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-vivaldi
  • name: Vivaldi Installer
  • version: 7.8.3925.56-1
  • maintainer: Amel FRADJ
  • licence: https://vivaldi.com/privacy/vivaldi-end-user-license-agreement/
  • target_os: windows
  • architecture: x64
  • signature_date:
  • size: 132.42 Mo
  • homepage : https://vivaldi.com/

package           : tis-vivaldi
version           : 7.8.3925.56-1
architecture      : x64
section           : base
priority          : optional
name              : Vivaldi Installer
categories        : 
maintainer        : Amel FRADJ
description       : It's a navigator. But fun. It's packed with smart built-in features. It's also incredibly flexible and private
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : 
target_os         : windows
min_wapt_version  : 
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : C'est un navigateur. Mais amusant. Il est doté de nombreuses fonctionnalités intelligentes intégrées. Il est également incroyablement flexible et privé
description_pl    : To nawigator. Ale zabawny. Ma wbudowanych wiele inteligentnych funkcji. Jest również niezwykle elastyczny i prywatny
description_de    : Es ist ein Browser. Aber einer, der Spaß macht. Er verfügt über viele eingebaute intelligente Funktionen. Er ist außerdem unglaublich flexibel und privat
description_es    : Es un navegador. Pero divertido. Tiene un montón de funciones inteligentes integradas. También es increíblemente flexible y privado
description_pt    : É um navegador. Mas um divertido. Tem muitas funcionalidades inteligentes incorporadas. É também incrivelmente flexível e privado
description_it    : È un navigatore. Ma divertente. Ha molte funzioni intelligenti integrate. È anche incredibilmente flessibile e privato
description_nl    : Het is een navigator. Maar wel een leuke. Er zijn veel slimme functies ingebouwd. Het is ook ongelooflijk flexibel en privé
description_ru    : Это навигатор. Но очень интересный. В него встроено множество умных функций. Кроме того, он невероятно гибкий и индивидуальный
audit_schedule    : 
editor            : 
keywords          : 
licence           : https://vivaldi.com/privacy/vivaldi-end-user-license-agreement/
homepage          : https://vivaldi.com/
package_uuid      : dd676f40-3a15-4fa7-b54a-0923518ce521
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : ba4569a7cb2fefd8e3cd20b9c67d858355e38038a6509f357b5f8b4447b3411a
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-01-29T08:30:18.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         : V8rUl24GnzXpU0xRzApBtKZ0WgX80V0G8j1bw7Y6P1lEKICip1cQoawgIVK2A1RTQ+5X6CLBK6VpQLIrsB98izZ6eelfCoFmROAxNccD7qLd/7ft5bijAaiykKiSmXoEaDRWAN7ZXv1/oN/hkMr0utvSjjRga+I8f364pmb8wPRpRFE4SKnhFQhI6r2VOkLnMpbQzCRI8QgkPKKyRyGPgsL+oixcNt4wq0w8hEz8ijv15xNnICsndaW73AYfmxb/OoiN1gWlcUEqz5TkEMmWwBSYcKkhlYFqsaWDL+boA9/QJspPq8hxh1SybUKUvbEISw51LmTZrFtqroeAiqBznw==

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

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""

def install():
    # Déclaration des variables locales
    try:
        bin_name = glob.glob('Vivaldi.*.exe')[0]
    except IndexError:
        raise Exception("No Vivaldi installer found in the current directory")

    # Installation du logiciel
    install_exe_if_needed(bin_name,
                          silentflags='--vivaldi-silent --do-not-launch-chrome --system-level',
                          key='Vivaldi',
                          min_version=control.get_software_version(),
                          accept_returncodes=[0, 3010, 1641])
    
    # Nettoyer les clés de désinstallation pour éviter les audits sans code
    uninstallkey.clear()

def uninstall():
    for uninstall in installed_softwares('vivaldi'):
        uninstall_string = uninstall.get("uninstall_string", "")
        if uninstall_string:
            print(f"Uninstalling Vivaldi: {uninstall_string}")
            try:
                # Exécution de la commande de désinstallation avec gestion des erreurs
                run(f"{uninstall_string} --uninstall --force-uninstall --vivaldi --system-level", accept_returncodes=[0, 19])
                wait_uninstallkey_absent(uninstall['key'], max_loop=600)
            except CalledProcessErrorOutput as e:
                print(f"Error uninstalling Vivaldi: {e.output}")
                if 'Could not get application shortcuts location' in e.output:
                    print("Ignoring error related to application shortcuts location.")
                else:
                    raise
        else:
            print("No uninstall string found for Vivaldi")

def audit():
    if not uninstall_key_exists("Vivaldi"):
        print('uninstallkey Vivaldi not found')
        return "ERROR"
    else:
        return "OK"


# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import glob
import re



def update_package():
    # Declaring local variables
    package_updated = False

    proxies = get_proxies_from_wapt_console()
    if not proxies:
        proxies = get_proxies()


    url_base = "https://vivaldi.com/fr/download/"
    response = requests.get(url_base,allow_redirects=True, proxies=proxies)
    # Extract the correct div using bs_find_all
    links = bs_find_all(url_base, "a","class","download-link", proxies=proxies)
    exe_file = None
    for link in links:
        if link['href'].endswith('x64.exe'):
            href = link['href']
            exe_file = href
            download_url = exe_file
            latest_bin = exe_file.split('/')[-1]
            break


    # Downloading latest binaries
    print("Download URL is: %s" % download_url)
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies)
        package_updated = True
    else:
        print("Binary is present: %s" % latest_bin)


    # Deleting outdated binaries
    for f in glob.glob('*.zip'):
        if f != latest_bin:
            remove_file(f)


    version = get_version_from_binary(latest_bin)
    # Mettre à jour le package
    control.set_software_version(version)
    control.save_control_to_wapt()


d67a45f0fd2bdb2af7f77c8392e6184ec2c689f2b83c5bc92f5353192d64f6b1 : Vivaldi.7.8.3925.56.x64.exe
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
93609d924be77e8760b1aaaf3259895bb419f84d701ea7e9c96fbb7c2a71e0cd : WAPT/control
ba4569a7cb2fefd8e3cd20b9c67d858355e38038a6509f357b5f8b4447b3411a : WAPT/icon.png
dcba78b3f4b624776fcab160aa13b386992fe520f15da452df3ed4094755c85d : luti.json
0a9fb9fa6c1d714f98e914671833e621cdbd8afdf3b092f117d3081edd9757f5 : setup.py
b0a71b888758e9ac35af2ceb5c43e8a4f78cdb5993462d2214ec8eb192dae345 : update_package.py