Il y a quelque temps, je cherchais à packager l'extension cartable fantastique pour LibreOffice. Non sans quelques difficultés, j'ai réussi à la packager et partage ici le paquet au cas où ça puisse servir à quelqu'un. (ce paquet a comme dépendance un paquet installant LibreOffice)
Code : Tout sélectionner
# -*- coding: utf-8 -*-
from setuphelpers import *
r"""Pour information : installation avec unopkg.exe pour tous les utilisateurs (argument --shared) inopérante (avec LO 25.8.6)
-> utiliser unopkg.exe pour chaque utilisateur via fonction session_setup() """
source_dir=makepath('C:','cachefileWAPT','LibreOffice_extensions','Lbo_CartableFantastique_college')
def install():
#copie du dossier de l'extension en local
if not isdir(source_dir):
mkdirs(source_dir)
print(f"Copie de l'extension Cartable Fantastique dans {source_dir}")
filecopyto('Lbo_CartableFantastique_college.v5.oxt',source_dir)
print("Installation terminée avec succès")
def session_setup():
run(r'"C:\Program Files\LibreOffice\program\unopkg.exe" add --suppress-license "C:\cachefileWAPT\LibreOffice_extensions\Lbo_CartableFantastique_college\Lbo_CartableFantastique_college.v5.oxt"')
def session_cleanup():
r"""Désinstallation de l'extension dans les profils utilisateurs
Attention, pour obtenir l'id de désinstallation de l'extension utiliser unopkg.com list et non unopkg.exe list qui ne renvoie rien"""
if installed_softwares('LibreOffice'):
run_notfatal(r'"C:\Program Files\LibreOffice\program\unopkg.exe" remove vnd.cmfpmatik.cartablefantastique')
def uninstall():
print("Suppression du dossier de l'extension Cartable Fantastique")
if isdir(source_dir):
remove_tree(source_dir)
if dir_is_empty(makepath('C:','cachefileWAPT','LibreOffice_extensions')):
remove_tree(makepath('C:','cachefileWAPT','LibreOffice_extensions'))
print("Désinstallation terminée avec succès")
Par contre si après que le paquet wapt ait été désinstallé, pour un utilisateur j'ouvre une invite de commande et exécute la fonction session_cleanup :
Code : Tout sélectionner
U:\>wapt-get session-cleanup col73-libreoffice-extension-cartable-fantastique-college
Using config file: C:\Program Files (x86)\wapt\wapt-get.ini
0
U:\>
Etonnament, si j'exécute la commande de la fonction session_cleanup dans une invite de commande dans la session de l'utilisateur (avec les droits de l'utilisateur, non administrateur):
Code : Tout sélectionner
U:\>"C:\Program Files\LibreOffice\program\unopkg.exe" remove vnd.cmfpmatik.cartablefantastique
U:\>
Je ne comprends pas d'où vient le problème. Auriez-vous une idée ?
