Seite 1 von 1

Foxit-Paket-Shell

Veröffentlicht: 4. Mai 2026 - 16:33 Uhr
von Balem
Guten Morgen,
Wir importieren das Foxit-Paket in der Entwicklungsphase (DEV), um es auf einigen Workstations zu installieren und sicherzustellen, dass keine Nebenwirkungen auftreten.
Wenn wir das Paket auf PROD umstellen, werden die Ordner "Foxit Software" gelöscht, die Software wird jedoch nicht neu installiert, da die Version identisch ist.
Sollten Ihrer Meinung nach die Löschung von Ordnern in die 'if'-Bedingung aufgenommen werden, um diesen Tippfehler zu korrigieren?
DANKE

Code: Alle auswählen

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

Betreff: Foxit-Pakethülle

Veröffentlicht: 4. Mai 2026 - 16:59 Uhr
von italbot
Guten Morgen,

Soweit ich dem Code entnehmen kann, wird die Deinstallation in der install()-Funktion nur ausgeführt, wenn die Version niedriger ist:
if Version(to_uninstall["version"]) < Version(control.get_software_version()) or force:
Wenn Sie diese Bedingung entfernen, sollte die Deinstallation fortgesetzt werden, auch wenn es sich um dieselbe Version handelt.
Sie können es auch folgendermaßen abwandeln:
if Version(to_uninstall["version"]) <= Version(control.get_software_version()) or force:
Aufrichtig,

Ingrid

Betreff: Foxit-Pakethülle

Veröffentlicht: 5. Mai 2026 - 8:52 Uhr
von Balem
Hallo, vielen Dank für das Feedback. Die Idee ist, das Löschen von Ordnern nach der Deinstallation (falls erforderlich) einzurücken

Code: Alle auswählen

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

Betreff: Foxit-Pakethülle

Veröffentlicht: 5. Mai 2026 - 09:10 Uhr
von italbot
Hallo,

ja, das ist zusätzlich möglich, allerdings müssen Sie die Bedingung für den Versionsvergleich anpassen; andernfalls wird vor der Installation nichts deinstalliert.

Mit freundlichen Grüßen,

Ingrid