Vivaldi Installer
Silent install package for Vivaldi Installer
7.9.3970.47-1
Preprod packages are packages built on LUTI.
They remain in PREPROD usually for 5 days, after which a second VirusTotal scan is performed to verify that the status has not changed.
If the package passes this last check, it is promoted to PROD and published on the store.
- package: tis-vivaldi
- name: Vivaldi Installer
- version: 7.9.3970.47-1
- maintainer: Amel FRADJ
- licence: https://vivaldi.com/privacy/vivaldi-end-user-license-agreement/
- target_os: windows
- architecture: x64
- signature_date:
- size: 137.19 Mo
- homepage : https://vivaldi.com/
package : tis-vivaldi
version : 7.9.3970.47-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 : 2a79e5ad-7fda-4cec-9d79-99131d81084b
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-04-01T07:04:00.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 : DEEndpbFipN945CawtFFouSkxGJqaXlk5z88odtbMJMY5T10y46QD5nr86lHsntwpUGiKOy2n9HhPBJ7M6lEI38q2l3NHAam12DfmhPtKRfQymlgGfJII4dCGi+ehMfGW8e5vCkL9bikCCDcVklmUgXGEodvEQLhc9BgkMxz1HC4hOoBaHNB+DoXdTNVRuLaBUu3deUfyQAMVRgn9wyua4B1j1PuBDh+WgaCfo85h+kwL5hq6lu4lllASJbeyH1xl3IEJc1nsJisPhTQvzcLXASRNGnj/1fjLXbwUQ0ldVYxVayZ8FPsalYzZKJ/dWj5G98ohMWRv0VxpReyKz6K4A==
# -*- 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()
22f7d0afa2bccd52e054aa9dd3522d6829265df8cb14d4219b726add342d71c7 : Vivaldi.7.9.3970.47.x64.exe
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
d370827516b667b3f43bd2a7a98155971e1e98e26153b7da5ede1abc970d15cc : WAPT/control
ba4569a7cb2fefd8e3cd20b9c67d858355e38038a6509f357b5f8b4447b3411a : WAPT/icon.png
5c8ca58357590c68e2079795c3d49a57e23d063a7f14b1754699577f3b59bb3e : luti.json
0a9fb9fa6c1d714f98e914671833e621cdbd8afdf3b092f117d3081edd9757f5 : setup.py
b0a71b888758e9ac35af2ceb5c43e8a4f78cdb5993462d2214ec8eb192dae345 : update_package.py