tis-crystaldiskinfo icon

CrystalDiskInfo

Paquet d’installation silencieuse pour CrystalDiskInfo

9.7.2-2
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-crystaldiskinfo
  • name: CrystalDiskInfo
  • version: 9.7.2-2
  • categories: Utilities
  • maintainer: WAPT Team,Tranquil IT,Clément Baziret
  • editor: Crystal Dew World
  • licence: opensource_free,wapt_public
  • locale: all
  • target_os: windows
  • impacted_process: DiskInfo32,DiskInfo64
  • architecture: all
  • signature_date:
  • size: 5.51 Mo
  • installed_size: 17.30 Mo
  • homepage : https://crystalmark.info/en/software/crystaldiskinfo/
  • depends:

package           : tis-crystaldiskinfo
version           : 9.7.2-2
architecture      : all
section           : base
priority          : optional
name              : CrystalDiskInfo
categories        : Utilities
maintainer        : WAPT Team,Tranquil IT,Clément Baziret
description       : CrystalDiskInfo is an MIT-licensed S.M.A.R.T. utility for reading and monitoring disk drive status
depends           : tis-dotnetfx
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : https://crystalmark.info/en/software/crystaldiskinfo/
installed_size    : 17300095
impacted_process  : DiskInfo32,DiskInfo64
description_fr    : CrystalDiskInfo est un utilitaire S.M.A.R.T. sous licence MIT qui permet de lire et de contrôler l'état des lecteurs de disques
description_pl    : CrystalDiskInfo to licencjonowane przez MIT narzędzie S.M.A.R.T. do odczytu i monitorowania stanu dysków
description_de    : CrystalDiskInfo ist ein MIT-lizenziertes S.M.A.R.T.-Programm zum Lesen und Überwachen des Laufwerkstatus
description_es    : CrystalDiskInfo es una utilidad S.M.A.R.T. con licencia MIT para leer y monitorizar el estado de las unidades de disco
description_pt    : O CrystalDiskInfo é um utilitário S.M.A.R.T. licenciado pelo MIT para ler e monitorizar o estado da unidade de disco
description_it    : CrystalDiskInfo è un'utility S.M.A.R.T. con licenza MIT per la lettura e il monitoraggio dello stato delle unità disco
description_nl    : CrystalDiskInfo is een S.M.A.R.T. hulpprogramma met een SIT-licentie voor het lezen en controleren van de status van schijfstations
description_ru    : CrystalDiskInfo - лицензированная MIT утилита S.M.A.R.T. для чтения и мониторинга состояния дисковых накопителей
audit_schedule    : 24h
editor            : Crystal Dew World
keywords          : crystaldiskinfo,s.m.a.r.t.,smart,utility,monitoring,disk,drive,status
licence           : opensource_free,wapt_public
homepage          : https://crystalmark.info/en/software/crystaldiskinfo/
package_uuid      : e1761b09-5b90-474d-a262-4d49da756aa9
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://crystalmark.info/en/software/crystaldiskinfo/crystaldiskinfo-history/
min_os_version    : 5.1
max_os_version    : 
icon_sha256sum    : 6e1989215c0946c9bb4166f91153644817dd3d18ab634c94cec2ea1777925504
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-01-23T15:30: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         : jZzCukwtl/Bz/yZgYvQFIXKq9sfGl2FKsK+WOuhIf6YU2cg4gktmAghE/MEf5qBZpAx6HmkqmcVhTHawtdnVvN9LLqzUkoJUhRvTlKJ9cyUisCWoMULxFnCZXGxD7It3qWbOIWOSjKsGzMpqveQhTiMKxphrvOY5U7clH8UbG1Oroam38aRcVydMyUNdVZcnHJRhzRRS52kP6NkrM+S5yvLeA/HUJ6VSWg9jfQQ222Baaxi0sU/zoae7Ep8h2rOjsrknciwEbR0WAXMO60e+S/QhrklLUT70uturFkkqs4DotIslsHG19wnTM+S72UpeTH44fdvoLdcYGKoxJBUaEg==

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

def install():
    bin_name = glob.glob("CrystalDiskInfo*.exe")[0]

    install_exe_if_needed(
        bin_name,
        silentflags="/silent /verysilent",
        key="CrystalDiskInfo_is1",
        min_version=control.get_software_version(),
    )

def audit():
    audit_status = "ERROR"

    # Interact differently with Luti
    if params.get("running_as_luti"):
        return "OK"

    app_path = ""

    if iswinarm():
        app_path = makepath(programfiles, "CrystalDiskInfo", "DiskInfoA64.exe")
    elif is32():
        app_path = makepath(programfiles, "CrystalDiskInfo", "DiskInfo32.exe")
    elif iswin64():
        app_path = makepath(programfiles, "CrystalDiskInfo", "DiskInfo64.exe")
    run('"%s" /CopyExit' % app_path)

    with open("C:/Program Files/CrystalDiskInfo/DiskInfo.txt", "r") as f:
        for ligne in f:
            if "Health Status" in ligne:
                if "Bon" in ligne:
                    audit_status = "OK"

    return audit_status

def iswinarm():
    return platform.machine()=='ARM64'

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


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name
    url = "https://sourceforge.net/projects/crystaldiskinfo/files/"


    # Getting latest version from download url
    print("URL latest version from download url")
    for bs_search in bs_find_all(url, "tr", "class", proxies=proxies) :
        version = bs_search["title"]
        break
    url_version = url + version

    for bs_search in bs_find_all(url_version, "tr", "title", proxies=proxies) :
        p = re.compile(r'\D{1,}\d{1,}[_]\d{1,}[_]\d{1,}[.]\bexe\b')
        result = re.search(p,bs_search["title"])
        if result: 
            download_url = bs_search.find_next("a").get("href")
            latest_bin = download_url.split("/")[-2]
            break

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

    # Checking version from file
    version_from_file = get_version_from_binary(latest_bin)
    if Version(version_from_file, 4) != Version(version, 4) and version_from_file != "":
        print("Changing version to the version number of the binary (from: %s to: %s)" % (version, version_from_file))
        version = version_from_file
    else:
        print("Binary file version corresponds to online version")

    # Changing version of the package
    if Version(version, 4) > Version(control.get_software_version(), 4):
        print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
        package_updated = True
    else:
        print("Software version up-to-date (%s)" % Version(version))

    # Deleting binaries
    for f in glob.glob("*.exe"):
        if f != latest_bin:
            remove_file(f)


    control.set_software_version(version)
    control.save_control_to_wapt()

    # Validating or not update-package-sources
    return package_updated

244a024fa29fad26065488e58ec76b3bdac2295c884b6a92154f85f2b2c3f0ab : CrystalDiskInfo9_7_2.exe
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
b49b1111c3fdb9db340cee02dda74a248eb09a8c3d1e435cdb2e5b354a248061 : WAPT/control
6e1989215c0946c9bb4166f91153644817dd3d18ab634c94cec2ea1777925504 : WAPT/icon.png
5492c5b64eec03bbc5eb9072d610cac095c0e2cb392d54b2e877633b13c38a79 : luti.json
d7b0e0cd58c2917e59aadf24dcb123213329b75e421e7a2df009420b901f9c12 : setup.py
e51a9160d9e6b661f68c3b7f5bca892e91dfc5232bc05abec64a6783abdc3d13 : update_package.py