tis-crystaldiskinfo icon

CrystalDiskInfo

Silent install package for CrystalDiskInfo

9.7.2-2
Utilities
Utilities

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-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