tis-dell-command-update icon

Dell Command Update

Paquet d’installation silencieuse pour Dell Command Update

5.3.0-17

package           : tis-dell-command-update
version           : 5.3.0-17
architecture      : x64
section           : base
priority          : optional
name              : Dell Command Update
categories        : Drivers
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ
description       : Dell Command | Update is a stand-alone application, for commercial client computers, that provides updates for system software that is released by Dell. This application simplifies the BIOS, firmware, driver, and application update experience for Dell commercial client hardware
depends           : tis-dotnetfx
conflicts         : tis-dell-command-update-uwp
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : https://www.dell.com/support/kbdoc/000177325/dell-command-update
installed_size    : 
impacted_process  : DellCommandUpdate
description_fr    : Dell Command | Update est une application autonome, pour les ordinateurs clients commerciaux, qui fournit des mises à jour pour les logiciels système publiés par Dell. Cette application simplifie la mise à jour du BIOS, du micrologiciel, des pilotes et des applications pour le matériel client commercial Dell
description_pl    : Dell Command | Update to samodzielna aplikacja dla komercyjnych komputerów klienckich, która zapewnia aktualizacje oprogramowania systemowego wydanego przez firmę Dell. Ta aplikacja upraszcza aktualizację systemu BIOS, oprogramowania układowego, sterowników i aplikacji dla komercyjnego sprzętu klienckiego firmy Dell
description_de    : Dell Command | Update ist eine eigenständige Anwendung für kommerzielle Client-Computer, die Updates für die von Dell freigegebene Systemsoftware bereitstellt. Diese Anwendung vereinfacht die BIOS-, Firmware-, Treiber- und Anwendungsaktualisierung für kommerzielle Dell-Client-Hardware
description_es    : Dell Command | Update es una aplicación independiente, para ordenadores cliente comerciales, que proporciona actualizaciones para el software del sistema publicado por Dell. Esta aplicación simplifica la experiencia de actualización de BIOS, firmware, controladores y aplicaciones para el hardware de cliente comercial de Dell
description_pt    : O Dell Command | Update é uma aplicação autónoma, para computadores clientes comerciais, que fornece actualizações para software de sistema lançado pela Dell. Este aplicativo simplifica a experiência de atualização de BIOS, firmware, driver e aplicativo para hardware de cliente comercial da Dell
description_it    : Dell Command | Update è un'applicazione autonoma, per computer client commerciali, che fornisce aggiornamenti per il software di sistema rilasciato da Dell. Questa applicazione semplifica l'esperienza di aggiornamento di BIOS, firmware, driver e applicazioni per l'hardware dei client commerciali Dell
description_nl    : Dell Command Update is een standalone toepassing voor commerciële clientcomputers die updates biedt voor systeemsoftware die is uitgebracht door Dell. Deze toepassing vereenvoudigt het bijwerken van BIOS, firmware, drivers en toepassingen voor commerciële clienthardware van Dell
description_ru    : Dell Command | Update - это отдельное приложение для коммерческих клиентских компьютеров, которое обеспечивает обновление системного программного обеспечения, выпускаемого компанией Dell. Это приложение упрощает процесс обновления BIOS, микропрограммного обеспечения, драйверов и приложений для коммерческого клиентского оборудования Dell
audit_schedule    : 
editor            : Dell Inc.
keywords          : dell,command,update,application,commercial,client,computers,provides,updates,system,software,simplifies,bios,firmware,driver
licence           : proprietary_free,wapt_public
homepage          : https://www.dell.com/support/kbdoc/000177325/dell-command-update
package_uuid      : ffa6cd85-65d4-46d0-abf8-2e6fa8f8ff97
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.dell.com/support/manuals/command-update/dellcommandupdate_rn/what%E2%80%99s-new-in-dell-command-%7C-update-version-5.0?guid=guid-b03a61b2-3232-402e-8635-2a3e1d5702e6
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : 84a8def6f2fe8fbc0bb40575f4f18edd62853169caf556f7290da90712c324b4
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature         : HM90jfRnjBwk+ueNbT0N+X09jyud/wMZiQeS8X41YS+yvYJjtEnv/OCGTmznZIsfnkwlppoCnHepivGUMHTU8Kz1VVQTSXiApIRY+Y2jF27Zdy4mCsY8Cji/M5n02LpRo17QGufRFyVczaIoGDh/SF/DxAzyExdgXdTueZbDLWVDfP+KRRYTothW5gRj76DX1AQH0wASwNFHzQBD2Bk2zvR/2Xszw8mxZmKsJ1fbUtRUAu/xUAwVJTWhtEUZckP7gUYiumhlmLDsa2Sks1uWH8QJ+f8V1lTWDuk+HRVltzHASV+5MAB92dGXxzMnUYJvPtCU87Bse5l6l/y1rEQaew==
signature_date    : 2024-07-06T13:01:56.589452
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

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

r"""
Update Package: 4R78GA00
Dell Command | Update Application, 5.2.0, A00

General Usage:
Dell-Command-Update-Application_4R78G_WIN_5.2.0_A00.exe [/<option1>[=<value1>]] [/<option2>[=<value2>]]...
See listing below for <option> and <value> information.

NOTE:If the folder name contains space, double quotes should be given for folder name
EXAMPLE:/s /e="c:\Folder Name"

Option - Description:
---------------------
(none) - Display of graphical user interface for guided installation/update or extraction.

/? or /h - Displays this  Update Package usage information.

/s - Suppresses all graphical user interfaces of the  Update Package.

/e=<path> - Extraction of update contents to a folder.
(NOTE: Requires /s option)

/passthrough ... - (Advanced) Sends all text following the /passthrough option directly to the vendor install software of the  Update Package. This mode suppresses any  provided graphical user interfaces, but not necessarily those of the vendor software.

/factoryinstall /passthrough (vendor command line parameter) - (Advanced) (commnad line parameters) will be passed to vendor installer directly without parsing MUP.xml. Post installation, If the vendor installer returns REBOOT_REQUIRED or REBOOT_UPDATE_PENDING, it will be turned to SUCCESS.

/l=<path> - Define a specific path for the  Update Package log file.
(NOTE: This option can NOT be used in combination with /passthrough)

/f - Override a soft dependency error returned from the  Update Package.
(NOTE: Requires /s option, can NOT be used in combination with /passthrough)


Example(s):
---------------------
Update the system silently
Dell-Command-Update-Application_4R78G_WIN_5.2.0_A00.exe /s

Extract the update contents to the folder C:\mydir\
Dell-Command-Update-Application_4R78G_WIN_5.2.0_A00.exe /s /e=C:\mydir

Pass command line arguments directly to vendor installer.
Turn the return code to success if required
Dell-Command-Update-Application_4R78G_WIN_5.2.0_A00.exe /factoryinstall /passthrough D:\Sample.xml C:\log\FI.log


Change from the default log location to C:\my path with spaces\log.txt
Dell-Command-Update-Application_4R78G_WIN_5.2.0_A00.exe /l="C:\my path with spaces\log.txt"

Force update to continue, even on "soft" qualification errors
Dell-Command-Update-Application_4R78G_WIN_5.2.0_A00.exe /s /f

"""


def install():
    bin_name = glob.glob("Dell-Command-Update-Application_*.EXE")[0]

    install_exe_if_needed(
        bin_name,
        silentflags=r'/s /l="C:\Windows\Temp\%s"' % bin_name.replace("EXE", "log").replace("exe", "log"),  #  /passthrough
        name="Dell Command | Update",
        min_version=control.get_software_version(),
        timeout=900,
    )


    # Disabling telemetry
    registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\Settings\General", "UserConsentDefault", 0)
    registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\CFG", "ShowSetupPopup", 0)

    # Download updates (notify when ready)
    registry_set(
        HKEY_LOCAL_MACHINE, r"SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\Settings\Schedule", "AutomationMode", "ScanDownloadNotify"
    )
    registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\Settings\Schedule", "ScheduleMode", "Auto")

    # # Manual updates only
    # registry_set(
    #     HKEY_LOCAL_MACHINE, r"SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\Settings\Schedule", "ScheduleMode", "ManualUpdates"
    # )

    # # Disable notification
    # registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\Settings\Schedule", "DisableNotification", 1)


def audit():
    audit_status = "OK"
    service_name = "DellClientManagementService"
    service_start_mode = get_service_start_mode(service_name)
    
    if not service_installed(service_name):
        print(f"{service_name} service does not exist.")
        audit_status = "ERROR"
    else:
        if service_start_mode in ["Disabled", "Manual"]:
            set_service_start_mode(service_name, "Auto")
        if not service_is_running(service_name):
            service_start(service_name)
        time.sleep(5)
        if not service_is_running(service_name):
            print(f"{service_name} service is not running.")
            audit_status = "WARNING"
        else:
            print(f"{service_name} service is working properly.")
            audit_status = "OK"
    return audit_status

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


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    url = "https://www.dell.com/support/kbdoc/en-us/000177325/dell-command-update"

    # Getting latest download link from official sources
    print("URL used is: %s" % url)
    for bs_search in bs_find_all(url, "a", "target", "_blank", proxies=proxies, timeout=10):
        if "Dell Command | Update Application (Classic)" in bs_search.text:
            url = bs_search["href"]
            break

    # Getting latest version from official sources
    print("URL used is: %s" % url)
    for bs_search in bs_find_all(
        url, "a", "class", "text-decoration-none pointer-cursor dellmetrics-driverdownloads btn btn-primary mt-2", proxies=proxies, timeout=10
    ):
        if "Dell-Command-Update-Application_" in bs_search["href"]:
            version = bs_search["href"].split("_")[-2]
            latest_bin = bs_search["href"].split("/")[-1]
            download_url = bs_search["href"]
            break

    # Downloading latest binaries
    print("Latest %s version is: %s" % (control.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, verify_cert=False)
    else:
        print("Binary is present: %s" % latest_bin)

    # Deleting outdated binaries
    remove_outdated_binaries(latest_bin)

    # Checking version from file
    if get_os_name() == "Windows" and "windows" in control.target_os.lower():
        version_from_file = get_version_from_binary(latest_bin)
        if Version(version_from_file, 4) == Version(version, 4):
            print(f"INFO: Binary file version ({version_from_file}) corresponds to online version ({version})")
        else:
            error(f"ERROR: Binary file version ({version_from_file}) do NOT corresponds to online version ({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))
    control.set_software_version(version)
    control.save_control_to_wapt()

    # Validating or not update-package-sources
    return package_updated

6c38dca6d65eaa32cb5b70e665e41f549330d139bfa1f07890bec6a9cd57ff18 : Dell-Command-Update-Application_T45GH_WIN_5.3.0_A00.EXE
f21137a63da4608483ea022cba11359be9ea57dafd3249c021308209ce957af3 : setup.py
eefe302cf469b66dd88572620de37bdaeb6a3d81e7d4eb048fe029b34ed35ef0 : update_package.py
84a8def6f2fe8fbc0bb40575f4f18edd62853169caf556f7290da90712c324b4 : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
d55daae59c17af07520112184e815ec230bd93a7efdd9073e779d3be27043923 : luti.json
9a904bdd2e3f992f42f53c8c59f27d5152ef254b87bbe40df9a84624b77b5e9f : WAPT/control