tis-vivaldi icon

Vivaldi Installer

Silent install package for Vivaldi Installer

7.4.3684.55-1

  • package: tis-vivaldi
  • name: Vivaldi Installer
  • version: 7.4.3684.55-1
  • maintainer: Amel FRADJ
  • licence: https://vivaldi.com/privacy/vivaldi-end-user-license-agreement/
  • target_os: windows
  • architecture: x64
  • signature_date:
  • size: 130.93 Mo
  • homepage : https://vivaldi.com/

package           : tis-vivaldi
version           : 7.4.3684.55-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          : PROD
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      : 548bad77-7508-4fd1-8c3f-0bbe918257a9
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : ba4569a7cb2fefd8e3cd20b9c67d858355e38038a6509f357b5f8b4447b3411a
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-06-25T15:00:55.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         : i6lZZXfCKWsZCKnix6Xy4G7ed9iPIPGD+6NXzahJ2B1CSGjNsBvZh6dqRSJL58U0BJuP7dGj1dHt2iNz3ftF2UtE/a1icqOxctEilskye5LMZ9NpDlJpqhrhqzyfAbQFCfz9Qdu0ssKLsC7UO88U3EPlQznhjTviL1vkEIXAvQ8JatRbDtFER6aJ22TRv4HorJU0OnKVPvYkB+yGZw7Kj+xzk9dTpqbkg/LEgumvrOLlx+PJMR2lrzs7ytpnxpT5+F/j7q9x2FF8swQiLml/VxtdO//DxKl5iFnMsDTDab6V4dvoci2IUf2QGAMvZ2SvI4Q2a44W2jhmOiEZqGY+cw==

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


2cc62562f2ad9e1ddb61bd86232cb6a300c9187d33e44be4fcb7dceac4cd4f23 : Vivaldi.7.4.3684.55.x64.exe
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
078bf6536dd73726c1b590e367e90788ef98965c624eb3b7921691f3a6e5aecc : WAPT/control
ba4569a7cb2fefd8e3cd20b9c67d858355e38038a6509f357b5f8b4447b3411a : WAPT/icon.png
0b7a644e28fd87b685919051e7459b09e510896e82045dec229281a26834555c : luti.json
0a9fb9fa6c1d714f98e914671833e621cdbd8afdf3b092f117d3081edd9757f5 : setup.py
b0a71b888758e9ac35af2ceb5c43e8a4f78cdb5993462d2214ec8eb192dae345 : update_package.py