tis-odrive icon

odrive

Paquet d’installation silencieuse pour odrive

1.0.7523-1
Utilities
Utilities

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-odrive
  • name: odrive
  • version: 1.0.7523-1
  • categories: Utilities
  • maintainer: WAPT Team,Tranquil IT,Amel FRADJ,
  • licence: proprietary_restricted,wapt_private
  • target_os: windows
  • architecture: x64
  • signature_date:
  • size: 67.84 Mo
  • homepage : https://www.odrive.com/

package           : tis-odrive
version           : 1.0.7523-1
architecture      : x64
section           : base
priority          : optional
name              : odrive
categories        : Utilities
maintainer        : WAPT Team,Tranquil IT,Amel FRADJ,
description       : Universal synchronization client. Makes all cloud storage unified, synchronized, shareable and encrypted
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : 
target_os         : windows
min_wapt_version  : 2.3
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : Client de synchronisation universel. Il rend tout stockage cloud unifié, synchronisé, partageable et chiffré
description_pl    : Uniwersalny klient synchronizacji. Sprawia, że cała pamięć masowa w chmurze jest ujednolicona, zsynchronizowana, udostępniona i zaszyfrowana
description_de    : Universeller Client für die Synchronisierung. Er macht jeden Cloud-Speicher vereinheitlicht, synchronisiert, teilbar und verschlüsselt
description_es    : Cliente de sincronización universal. Unifica, sincroniza, comparte y cifra todo el almacenamiento en la nube
description_pt    : Cliente de sincronização universal. Torna todo o armazenamento na nuvem unificado, sincronizado, partilhável e encriptado
description_it    : Client di sincronizzazione universale. Rende tutto il cloud storage unificato, sincronizzato, condivisibile e crittografato
description_nl    : Universele synchronisatieclient. Maakt alle cloudopslag verenigd, gesynchroniseerd, deelbaar en versleuteld
description_ru    : Универсальный клиент синхронизации. Делает все облачные хранилища унифицированными, синхронизированными, доступными для совместного использования и зашифрованными
audit_schedule    : 
editor            : 
keywords          : 
licence           : proprietary_restricted,wapt_private
homepage          : https://www.odrive.com/
package_uuid      : 27394924-0a34-4678-937d-3b2dcd9c6f83
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 56a0144e08df3c404bbeadd51d923d6e16f6697394f2c8b08d3b9c1a55b7fede
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-05-05T17:31:11.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         : Gb66c1HhxYXlvC1y4kRt4cwLkfpkk2HRf4hCdE5O+3kWh3q19/BHXawTBRInz0Z2u/diT1gfw8FI7Gzh343HTCY4xiieZycpTxQCTcQJDyA8u9sSCeEMJRPTYiTz8UvtyrcjGwPM0l3523vsiAIFu1fM4sO1f6thVkA4OQQb2zGrfL3Cm+Tli0UW8FSpHdV0SiGDWRUxVc+fE5jVefYNYODcbOOiLWIGDnR68ji1r9fI21Fz4co7v6MQkvjLdivjLkDNpbYWGlQMf0HkpJWq4yHEmsI4Fik8PzYYtHGtGq0SdwAAYenKBGvlntsq5HXaRrPAhD2bfd1f2J+q00EF3A==

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

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

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


def install():
    # Declaring local variables
    bin_name = glob.glob("odrivesync.*.exe")[0]
    
    # Uninstalling older version of the software that can remains
    for to_uninstall in installed_softwares(name="odrive"):
      if Version(to_uninstall["version"]) < Version(control.get_software_version()):
        print(f"Removing: {to_uninstall['name']} ({to_uninstall['version']})")
        killalltasks(ensure_list(control.impacted_process))
        run(uninstall_cmd(to_uninstall["key"]))
        wait_uninstallkey_absent(to_uninstall["key"])


    # Installing the software

    install_exe_if_needed(
        bin_name,
        silentflags="/quiet",
        name="odrive",
        min_version=control.get_software_version(),
    )
    uninstallkey.clear()

def audit():
    # Declaring local variables
    audit_status = "OK"
    detected_apps = installed_softwares("odrive")
    if detected_apps:
        installed_version = detected_apps[0]["version"]
        control.name = detected_apps[0]["name"]
    else:
        installed_version = ""
        control.name = control.package.split("-", 1)[-1].replace("-", " ").title()
    audit_version = False

    # Auditing software
    if not installed_version:
        print(f"{control.name} is not installed.")
        audit_status = "ERROR"
    elif audit_version and Version(installed_version, 4) < Version(control.get_software_version(), 4):
        print(f"{control.name} ({installed_version}) installed version should be: {control.get_software_version()}")
        audit_status = "WARNING"
    else:
        print(f'{control.name} ({installed_version if not installed_version in control.name else "" }) is installed.')
        audit_status = "OK"

    return audit_status

def uninstall():
    # Force uninstalling the software
    for to_uninstall in installed_softwares(name="odrive"):
        print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
        killalltasks(ensure_list(control.impacted_process))
        
        try:
            # Adding silent flags to the uninstall command
            uninstall_command = uninstall_cmd(to_uninstall["key"]) + " /quiet"
            run(uninstall_command)
            wait_uninstallkey_absent(to_uninstall["key"], max_loop=60)
        except Exception as e:
            print(f"Error during uninstallation: {e}")
            # Handling the case where odrive might already be partially uninstalled
            print("odrive might have already been uninstalled.")
            print("Removing odrive from the list of installed programs.")
            
        if uninstall_key_exists(to_uninstall["key"]):
            unregister_uninstall(to_uninstall["key"], win64app=to_uninstall["win64"])
        
        # Clean up any remaining files
        if isdir(to_uninstall["install_location"]):
            print(f"Removing remaining files in {to_uninstall['install_location']}")
            remove_tree(to_uninstall["install_location"])

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


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

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

    data = requests.get("https://www.odrive.com/downloaddesktop?platform=win", allow_redirects=True, proxies=proxies)
    download_url = data.url
    latest_bin = download_url.split("/")[-1]
    version = latest_bin.split(".")[-2]

    # 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("*.exe"):
        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()

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
111e5717d84227e8d6b2d9c9bd43529b29cd7033efdb41bfec6e6897605faee5 : WAPT/control
56a0144e08df3c404bbeadd51d923d6e16f6697394f2c8b08d3b9c1a55b7fede : WAPT/icon.png
21711840529a6c171d68a7688ecdb72fa1c7953336a3a9540645ebd13924806c : luti.json
6add5dfc20deea2a16e3bf92c4cfdb2d2a9a43b8dc1b7ba7eeb63802936ce55d : odrivesync.7523.exe
c9a512bb4c2f027990ada482ff8719ed91681e0c2c2a8a81b9c72254b0ffa7af : setup.py
cf643bf7b404fb69a51db9358b8e7e253b015c53da2a36764d27469ef4a3a81e : update_package.py