Page 1 sur 1

Coquille paquet Foxit

Publié : 04 mai 2026 - 16:33
par Balem
Bonjour,
Nous importons le paquet Foxit en maturité DEV pour l'installer sur quelques postes afin de s'assurer qu'il n'y ait pas d'effets de bord.
Lorsque nous basculons le paquet en PROD, celui-ci supprime les dossiers "Foxit Software" mais ne réinstalle pas le software car la version est identique.
Pensez-vous qu'il faille inclure la suppression de dossiers dans la condition 'if' pour corriger cette coquille ?
Merci

Code : Tout sélectionner

for to_uninstall in installed_softwares(name="Foxit PDF Reader"):
	if Version(to_uninstall["version"]) < Version(control.get_software_version()) or force:
		print(f"Removing: {to_uninstall['name']} ({to_uninstall['version']})")
		killalltasks(ensure_list(control.impacted_process))
		run(uninstall_cmd(to_uninstall["key"]))
		wait_uninstallkey_absent(to_uninstall["key"])

old_app_dir = makepath(programfiles32, "Foxit Software", "Foxit Reader")
if isdir(old_app_dir):
	remove_tree(old_app_dir)

old_app_dir = makepath(programfiles, "Foxit Software")
if isdir(old_app_dir):
	remove_tree(old_app_dir)

# Installing the package
install_exe_if_needed(
	bin_name,
	silentflags="/quiet",
	timeout=900,
	name="Foxit PDF Reader",
	min_version=control.get_software_version(),
)

Re: Coquille paquet Foxit

Publié : 04 mai 2026 - 16:59
par italbot
Bonjour,

D'après ce que je vois dans le code, la désinstallation dans la fonction install() ne se lance que si la version est inférieure:
if Version(to_uninstall["version"]) < Version(control.get_software_version()) or force:
Si vous retirez cette condition, la désinstallation devrait se faire, même si c'est la même version.
Vous pouvez aussi la modifier de cette manière :
if Version(to_uninstall["version"]) <= Version(control.get_software_version()) or force:
Cordialement,

Ingrid