Dell Command Update
Paquet d'installation silencieuse pour Dell Command Update
5.7.2-24
Drivers
Drivers
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-dell-command-update
- name: Dell Command Update
- version: 5.7.2-24
- categories: Drivers
- maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ
- editor: Dell Inc.
- licence: proprietary_free,wapt_public
- locale: all
- target_os: windows
- impacted_process: DellCommandUpdate,dcu-cli,Dell.Update.SubAgent,Dell.CoreServices.Client,Dell.TechHub,Dell.TechHub.Analytics.SubAgent,Dell.TechHub.DataManager.SubAgent,Dell.TechHub,Dell.TechHub.Instrumentation.SubAgent,Dell.TechHub.Instrumentation.UserProcess,Dell.UCA.Manager,MyDell.Updater
- architecture: x64
- signature_date:
- size: 90.77 Mo
- homepage : https://www.dell.com/support/kbdoc/000177325/dell-command-update
- depends:
- conflicts :
package : tis-dell-command-update
version : 5.7.2-24
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-dotnet8, tis-dotnet10
conflicts : tis-dell-command-update-uwp
maturity : PREPROD
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,dcu-cli,Dell.Update.SubAgent,Dell.CoreServices.Client,Dell.TechHub,Dell.TechHub.Analytics.SubAgent,Dell.TechHub.DataManager.SubAgent,Dell.TechHub,Dell.TechHub.Instrumentation.SubAgent,Dell.TechHub.Instrumentation.UserProcess,Dell.UCA.Manager,MyDell.Updater
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 : 74f4b886-ddf5-4161-8622-d6a17d36d263
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.19045
max_os_version :
icon_sha256sum : 84a8def6f2fe8fbc0bb40575f4f18edd62853169caf556f7290da90712c324b4
signer : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2026-10-23T07:47:45.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 : dHrI0M+z+HSJw77O5mPRm40iFLG51iOZUxT9Up40Q4a3gFWVV/hQ1eop1BpdD8D6Dyux2wdowYtqfYKBu4NoTAmOLqBhSjjuI5bLlE/LcpkCDk0HggX07bkji7gpd9HsGxQk5JKc6XUXOc/rP7Lm3ePKLmNpeo+EkWOkGfRfBpxF0apxRe9XIF0GpFAlKUZlWP8MAUiHPa6INggknsjx1VAhGxQCuZJylO8uVCkN1Lhd95e4cq9Zm+QLR391WlWGDoMa7q8W6Rp4yPJArjFmhb1xG46EkDT2CI4phyaf7JupAlJcv7EhEn4bnq9R0WTFHxagjM76uKLkAsgU6k/JCg==
# -*- 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-for-Win32_*.EXE")[0]
uninstall_unwanted_version()
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.")
#write useful info in database
catalog_timestamp = registry_readstring(HKEY_LOCAL_MACHINE,fr'SOFTWARE\Dell\UpdateService\Service','CatalogTimestamp')
lastcheck_timestamp = registry_readstring(HKEY_LOCAL_MACHINE,fr'SOFTWARE\Dell\UpdateService\Service','LastCheckTimestamp')
lastupdate_timestamp = registry_readstring(HKEY_LOCAL_MACHINE,fr'SOFTWARE\Dell\UpdateService\Service','LastUpdateTimestamp')
pending_install = registry_readstring(HKEY_LOCAL_MACHINE,fr'SOFTWARE\Dell\UpdateService\Service\UpdateScheduler','PendingInstallPackages')
info_list = ['CatalogTimestamp','LastCheckTimestamp','LastUpdateTimestamp','PendingInstallPackages']
result_list = [catalog_timestamp,lastcheck_timestamp,lastupdate_timestamp,pending_install]
audit_dict = dict(zip(info_list,result_list))
print(audit_dict)
WAPT.write_audit_data_if_changed("dell-command-update", "dell-command-update", audit_dict)
## print("CatalogTimestamp:" + f"{catalog_timestamp}")
## print("LastCheckTimestamp:" + f"{lastcheck_timestamp}")
## print("LastUpdateTimestamp:" + f"{lastupdate_timestamp}")
## print("PendingInstallPackages:" + f"{pending_install}")
audit_status = "OK"
return audit_status
def uninstall_unwanted_version():
# Uninstalling older version of the software that can remains
apps_to_uninstall = []
for app_name in ["Dell Command | Update", "Dell Core Services"]:
apps_to_uninstall.extend(installed_softwares(app_name))
for app in apps_to_uninstall:
print("Removing: %s (%s)" % (app["name"], app["version"]))
killalltasks(ensure_list(control.impacted_process))
uninstall_cmd = 'msiexec.exe /X%s /qn /norestart' % app["key"]
print("Uninstall command: %s" % uninstall_cmd)
run(uninstall_cmd)
wait_uninstallkey_absent(app["key"])
time.sleep(30)
# -*- coding: utf-8 -*-
from setuphelpers import *
import waptlicences
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:153.0) Gecko/20100101 Firefox/153.0"
base_url = "https://www.dell.com/support/kbdoc/en-us/000177325/dell-command-update"
# Getting latest download link from official sources
print("Base URL used is: %s" % base_url)
for bs_search in bs_find_all(base_url, "a", "target", "_blank", proxies=proxies, user_agent=user_agent, 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","dellmetrics-driverdownloads", proxies=proxies, user_agent=user_agent, timeout=10):
if "Dell-Command-Update-for-Win32" in bs_search["href"]:
download_url = bs_search["href"]
version = download_url.split("_")[3]
latest_bin = download_url.split("/")[-1]
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)
expected_issuer = "Dell Technologies Inc."
sign_name = waptlicences.check_exe_signing_certificate(latest_bin)[0]
if sign_name != expected_issuer:
error(f'Bad issuer {sign_name} != {expected_issuer} ')
# 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
5c20e1a352fdbc0a9759504db37c7b8c694f4024f5f5313c5130c0959be8d484 : Dell-Command-Update-for-Win32_WYJ59_WIN64_5.7.2_A00.EXE
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
7f06dff7dd31ecb9b8b05bf1e86907800646927c3d84c4c183a9591bd4c47c2e : WAPT/control
84a8def6f2fe8fbc0bb40575f4f18edd62853169caf556f7290da90712c324b4 : WAPT/icon.png
da3b6f9f3048920f352eddfe772791cfc50dd0b1d526c586164f6bf0a85ca69c : luti.json
bfc5bc04a0bd7468fa4bef195b735ad1b81024be94ca90cbac5c98bc7cf472d3 : setup.py
102075de0c420b2145eca844fe8094227b42ae71a4b721893a8ccc15db673428 : update_package.py