tis-driver-store-explorer icon

Driver Store Explorer

Paquet d’installation silencieuse pour Driver Store Explorer

0.12.135-6
Utilities
System and network
Utilities
System and network

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-driver-store-explorer
  • name: Driver Store Explorer
  • version: 0.12.135-6
  • categories: Utilities,System and network
  • maintainer: WAPT Team,Tranquil IT,Gaëtan SEGAT,Jimmy PELÉ
  • licence: GLPv2
  • locale: all
  • target_os: windows
  • impacted_process: Rapr
  • architecture: all
  • signature_date:
  • size: 1.06 Mo
  • installed_size: 2.54 Mo
  • homepage : https://github.com/lostindark/DriverStoreExplorer
  • depends:

package           : tis-driver-store-explorer
version           : 0.12.135-6
architecture      : all
section           : base
priority          : optional
name              : Driver Store Explorer
categories        : Utilities,System and network
maintainer        : WAPT Team,Tranquil IT,Gaëtan SEGAT,Jimmy PELÉ
description       : Driver Store Explorer [RAPR] makes it easier to deal with Windows driver store. Supported operations include list/add/install/delete third-party driver packages.
depends           : tis-dotnetfx
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.0
sources           : https://github.com/lostindark/DriverStoreExplorer/releases/latest
installed_size    : 2539520
impacted_process  : Rapr
description_fr    : Driver Store Explorer [RAPR] facilite la gestion du magasin de pilotes Windows. Les opérations prises en charge incluent la liste/l'ajout/l'installation/la suppression de packages de pilotes tiers.
description_pl    : Driver Store Explorer [RAPR] ułatwia radzenie sobie ze sklepem ze sterownikami Windows. Obsługiwane operacje obejmują listowanie/dodawanie/instalowanie/usuwanie pakietów sterowników innych firm
description_de    : Driver Store Explorer [RAPR] erleichtert den Umgang mit dem Windows-Treiberspeicher. Zu den unterstützten Operationen gehören Auflisten/Hinzufügen/Installieren/Löschen von Treiberpaketen von Drittanbietern
description_es    : Driver Store Explorer [RAPR] facilita el manejo del almacén de controladores de Windows. Las operaciones soportadas incluyen la lista/añadir/instalar/borrar paquetes de controladores de terceros
description_pt    : Driver Store Explorer [RAPR] torna mais fácil lidar com a loja de controladores do Windows. As operações suportadas incluem lista/adicionar/instalar/apagar pacotes de drivers de terceiros
description_it    : Driver Store Explorer [RAPR] semplifica la gestione del negozio di driver di Windows. Le operazioni supportate includono l'elenco/aggiunta/installazione/eliminazione di pacchetti di driver di terze parti
description_nl    : Driver Store Explorer [RAPR] maakt het eenvoudiger om te gaan met de Windows driver store. Ondersteunde operaties zijn onder andere: lijst/toevoegen/installeren/verwijderen van stuurprogrammapakketten van derden
description_ru    : Driver Store Explorer [RAPR] облегчает работу с хранилищем драйверов Windows. Поддерживаются такие операции, как список/добавление/установка/удаление пакетов драйверов сторонних производителей
audit_schedule    : 
editor            : 
keywords          : 
licence           : GLPv2
homepage          : https://github.com/lostindark/DriverStoreExplorer
package_uuid      : 9b09b81e-6387-4fd9-abf0-3eed65e40f72
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://github.com/lostindark/DriverStoreExplorer/releases
min_os_version    : 
max_os_version    : 
icon_sha256sum    : b6c900627c950c726e5c6f55684d9ed2898cf85b1426483f7572b9f1ee62b53c
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-01-04T06:28:51.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         : O4Wf/Ydb81B8XZt9t0N3Fa52bMhu8Vd8vlDZNnj4RYKKzkI1T2xJi2FdyjBkbPB43DauYzdqFvrlGF5G7GjDPu1dtLL9z0gdP54AQl0IlShxogVShq4zFKsocQaWULvWxQj8a74NzA+c8jnYDHom0UBoEmDSr34tPkn7m/zuXdtcQh214ZCWCH1F4VTXRFfSdBbb/L1WqzmvF3e+lcABlKhKasan9XS2xWcF+jOrDBKQQwhfiCnkQ2UcH0gRI+4X0/hV63pjK6yRDjcbVbXj2//foUUoyrgHn9WBV0KZVCD0UDf1zse4tTgkc63fRh5zELhl0MmDftU/At4AMykuBg==

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

uninstallkey = []

# Defining variables
app_dir = makepath(programfiles32, "Driver Store Explorer")
app_bin_path = makepath(app_dir, "Rapr.exe")


def install():
    # Initializing variables
    package_version = control.version.split("-")[0]
    impacted_process_list = control.impacted_process.split(",")
    bin_name = "DriverStoreExplorer.v%s.zip" % package_version
    app_name = control.name

    # Getting installed version
    if isfile(app_bin_path):
        installed_version = get_version_from_binary(app_name)
    else:
        installed_version = ""

    # Installing the package
    print("Installing: %s" % app_name)
    if installed_version < package_version:
        killalltasks(impacted_process_list)
        if isdir(app_dir):
            remove_tree(app_dir)
        mkdirs(app_dir)
        print("Extracting: %s to: %s " % (bin_name, app_dir))
        unzip(bin_name, app_dir)
        create_programs_menu_shortcut(app_name, app_bin_path)

        # Adding the package to the "list-registry"
        register_windows_uninstall(control)  # control is a PackageEntry object corresponding to the package
    else:
        print("%s portable is already installed in the correct version" % app_name)


def uninstall():
    # Initializing variables
    impacted_process_list = control.version.split(",")
    app_name = control.name

    # Uninstalling the package
    print("Uninstalling: %s" % app_name)
    killalltasks(impacted_process_list)
    if isdir(app_dir):
        remove_tree(app_dir)
    unregister_uninstall("Driver Store Explorer")
    remove_programs_menu_shortcut(app_name)


def audit():
    # Initializing variables
    package_version = control.version.split("-")[0]
    app_version = get_version_from_binary(app_bin_path)

    if isdir(app_dir):
        if package_version == app_version:
            print("OK: Folder exists: %s" % app_dir)
            return "OK"
    else:
        print("ERROR: Folder not exists: %s" % app_dir)
        return "ERROR"





def get_proxies():
    import platform

    if platform.python_version_tuple()[0] == "3":
        from urllib.request import getproxies
    else:
        from urllib import getproxies
    return getproxies()


def get_proxies_from_wapt_console():
    proxies = {}
    if platform.system() == "Windows":
        waptconsole_ini_path = makepath(user_local_appdata(), "waptconsole", "waptconsole.ini")
    else:
        waptconsole_ini_path = makepath(user_home_directory(), ".config", "waptconsole", "waptconsole.ini")
    if isfile(waptconsole_ini_path):
        proxy_wapt = inifile_readstring(waptconsole_ini_path, "global", "http_proxy")
        if proxy_wapt:
            proxies = {"http": proxy_wapt, "https": proxy_wapt}
    return proxies


def get_version_from_binary(filename, parameter="ProductVersion"):
    if filename.endswith(".msi"):
        return get_msi_properties(filename)[parameter]
    else:
        return get_file_properties(filename)[parameter]


def remove_outdated_binaries(version, list_extensions=["exe", "msi", "deb", "rpm", "dmg", "pkg", "zip"], list_filename_contain=None):
    if type(list_extensions) != list:
        list_extensions = [list_extensions]
    if list_filename_contain:
        if type(list_filename_contain) != list:
            list_filename_contain = [list_filename_contain]
    list_extensions = ["." + ext for ext in list_extensions if ext[0] != "."]
    for file_ext in list_extensions:
        for bin_in_dir in glob.glob("*%s" % file_ext):
            if not version in bin_in_dir:
                remove_file(bin_in_dir)
            if list_filename_contain:
                for filename_contain in list_filename_contain:
                    if not filename_contain in bin_in_dir:
                        remove_file(bin_in_dir)

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

bin_name_sub = "DriverStoreExplorer.v%s.zip"


def update_package():
    # Initializing variables
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name
    git_repo = "lostindark/DriverStoreExplorer"
    url_api = "https://api.github.com/repos/%s/releases/latest" % git_repo
    bin_start = bin_name_sub.split("%s")[0]

    # Getting latest version from official sources
    print("API used is: %s" % url_api)
    json_load = json.loads(wgets(url_api, proxies=proxies))

    for download in json_load["assets"]:
        if download["name"].startswith(bin_start):
            url_dl = download["browser_download_url"]
            break

    version = json_load["tag_name"].replace("v", "")
    latest_bin = bin_name_sub % version

    print("Latest %s version is: %s" % (app_name, version))
    print("Download url is: %s" % url_dl)

    # Downloading latest binaries
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(url_dl, latest_bin, proxies=proxies)

        # Changing version of the package
        control.version = "%s-%s" % (version, control.version.split("-", 1)[-1])
        control.save_control_to_wapt()
        print("Changing package version to: %s in WAPT\\control" % control.version)

    # Deleting outdated binaries
    remove_outdated_binaries(version)

6c1b32190cb2abff48c3b677a42d99dfb76076e377285707dd576252527cf52c : DriverStoreExplorer.v0.12.135.zip
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
80847b2c888bc4ee40d56cae1e4a06ec6500107906ae3a63382e233da2718f1d : WAPT/control
b6c900627c950c726e5c6f55684d9ed2898cf85b1426483f7572b9f1ee62b53c : WAPT/icon.png
8458c8c2f8ea2c618b855dc5661caf972a2ffbd2ef79cb7c39be3ba7732eaa13 : luti.json
ef108e6a7330cc8d1799d2a2c6a6a114a6a662da89e712b98d9a10198cd648f6 : setup.py
0151f2fb9d4f45c889b7550a58f55faf470e27ac2f3843bcfe5a7ceb825470f6 : update_package.py