Pagina 1 di 1

guscio della confezione Foxit

Pubblicato: 4 maggio 2026 - 16:33
di Balem
Buongiorno,
Stiamo importando il pacchetto Foxit nella versione di sviluppo (DEV) per installarlo su alcune workstation e assicurarci che non vi siano effetti collaterali.
Quando passiamo all'ambiente di produzione, le cartelle "Foxit Software" vengono eliminate, ma il software non viene reinstallato perché la versione è identica.
Pensi che la cancellazione delle cartelle debba essere inclusa nella condizione 'if' per correggere questo errore di battitura?
GRAZIE

Codice: Seleziona tutto

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(),
)

Oggetto: Shell del pacchetto Foxit

Pubblicato: 4 maggio 2026 - 16:59
di italbot
Buongiorno,

Da quanto posso vedere nel codice, la disinstallazione nella funzione install() viene eseguita solo se la versione è inferiore:
se la versione(da_disinstallare["versione"]) è inferiore alla versione(control.get_software_version()) o forza:
Se rimuovi questa condizione, la disinstallazione dovrebbe procedere, anche se si tratta della stessa versione.
È possibile modificarlo anche in questo modo:
se Version(to_uninstall["version"]) <= Version(control.get_software_version()) o forza:
Sinceramente,

Ingrid

Oggetto: Shell del pacchetto Foxit

Pubblicato: 5 maggio 2026 - 08:52
di Balem
Ciao, grazie per il feedback. L'idea è di evidenziare l'eliminazione delle cartelle dopo la disinstallazione (qualora si verifichi)

Codice: Seleziona tutto

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(),
)

Oggetto: Shell del pacchetto Foxit

Pubblicato: 5 maggio 2026 - 09:10
di italbot
Ciao,

sì, puoi farlo, ma dovrai comunque modificare la condizione di confronto della versione; altrimenti, nulla verrà disinstallato prima dell'installazione.

Cordiali saluti,

Ingrid