[RESOLU] Surcharge fonction remove()

Questions about WAPT Packaging / Requêtes et aides autour des paquets Wapt.
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
Verrouillé
sebastien4444
Messages : 22
Enregistré le : 14 sept. 2023 - 08:53

14 juin 2024 - 11:37

Bonjour,

J'ai crée un paquet pour l'installation d'office 2019 via l'outil officedeploymenttool et je fournis bien la clé de désinstallation dans les paramètres de la fonction install_exe_if_needed().
L'installation est OK, mais quand je run un remove pour la désinstallation, j'ai l'erreur suivante :

Code : Tout sélectionner

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.
Ma première question est donc : que veux exactement dire ce message ? :?:

Du coup, en solution de contournement, j'ai crée un fichier de config uninstall.xml qui permet la désinstallation de ma version d'office, et pendant l'installation, je vais copier ce fichier et le setup.exe nécessaire dans un répertoire d'office.
Mon idée étant de surcharger la fonction remove() pour lui faire executer "setup.exe /configure uninstall.xml".
Mais là aussi je rencontre un soucis : je n'ai pas l'impression que ma surcharge fonctionne quand je run la config remove puisque j'obtiens la même erreur que ci-dessus.

Voilà mon setup.py :

Code : Tout sélectionner

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')
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

14 juin 2024 - 12:45

Bonjour

Comme vous avez laisser la clé alors wapt essaie de désinstaller

ajouter a la fin de votre def install():

Code : Tout sélectionner

def install(): 
    ...
    uninstallkey.clear()
pour indiquer a wapt de ne pas essayer de désinstaller automatiquement.
Verrouillé