[RESUELTO] Sobrecarga de la función remove()
Publicado: 14 de junio de 2024 - 11:37
Buen día,
Creé un paquete para instalar Office 2019 a través de officedeploymenttool y proporciono la clave de desinstalación en los parámetros de la función install_exe_if_needed().
La instalación está bien, pero cuando ejecuto un comando de eliminación para desinstalar, aparece el siguiente error:
Mi primera pregunta entonces es: ¿qué significa exactamente este mensaje?
Entonces, como solución alternativa, creé un archivo de configuración uninstall.xml que permite la desinstalación de mi versión de Office y, durante la instalación, copiaré este archivo y el setup.exe necesario en un directorio de Office.
Mi idea es anular la función remove() para que ejecute "setup.exe /configure uninstall.xml".
Pero aquí también me encuentro con un problema: no siento que mi anulación esté funcionando cuando ejecuto la eliminación de configuración ya que obtengo el mismo error que el anterior.
Aquí está mi setup.py:
Creé un paquete para instalar Office 2019 a través de officedeploymenttool y proporciono la clave de desinstalación en los parámetros de la función install_exe_if_needed().
La instalación está bien, pero cuando ejecuto un comando de eliminación para desinstalar, aparece el siguiente error:
Código: Seleccionar todo
Command Line : remove "C:\waptdev\pilote-regtest_1.0_x64_Windows_PROD-wapt\WAPT\.."
Using config file: C:\Program Files (x86)\wapt\wapt-get.ini
Removing C:\waptdev\pilote-regtest_1.0_x64_Windows_PROD-wapt\WAPT\.. ...
2024-06-14 11:19:04,815 CRITICAL Critical error during uninstall: CalledProcessErrorOutput: Command ['"C:\\Program Files\\Common Files\\Microsoft Shared\\ClickToRun\\OfficeClickToRun.exe" scenario=install scenariosubtype=ARP sourcetype=None productstoremove=Standard2019Volume.16_fr-fr_x-none culture=fr-fr version.16=16.0'] returned non-zero exit status 1.
Output:La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte.
Entonces, como solución alternativa, creé un archivo de configuración uninstall.xml que permite la desinstalación de mi versión de Office y, durante la instalación, copiaré este archivo y el setup.exe necesario en un directorio de Office.
Mi idea es anular la función remove() para que ejecute "setup.exe /configure uninstall.xml".
Pero aquí también me encuentro con un problema: no siento que mi anulación esté funcionando cuando ejecuto la eliminación de configuración ya que obtengo el mismo error que el anterior.
Aquí está mi setup.py:
Código: Seleccionar todo
from setuphelpers import *
def install():
uninstall_key = "Standard2019Volume - fr-fr"
office_path = makepath("C:","Program Files","Microsoft Office")
office_uninstall_path = makepath("C:","Program Files","Microsoft Office","Uninstall")
print("Debut")
install_exe_if_needed("setup.exe", silentflags="/configure Install.xml", key=uninstall_key, timeout=None, min_version='')
print('Install ok')
mkdirs(office_uninstall_path)
filecopyto("setup.exe",office_uninstall_path)
filecopyto("Uninstall.xml",office_uninstall_path)
print("Répertoire et fichiers desinstallation OK")
def remove():
office_uninstall_path_setup = makepath("C:","Program Files","Microsoft Office","Uninstall","setup.exe")
office_uninstall_path_config = makepath("C:","Program Files","Microsoft Office","Uninstall","Uninstall.xml")
print('Debut uninstall')
run(office_uninstall_path_setup + ' /configure ' + office_uninstall_path_config)
print('uninstall OK')