[RESOLU] Paquet EBP Open Line Autonome Paie 13.21 Build 3 du 08/02/2023

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
olaplanche
Messages : 173
Inscription : 26 janv. 2017 - 11:11

11 févr. 2022 - 08:54

Bonjour,

Build 2 disponible ici : viewtopic.php?p=9739#p9739

Paquet EBP Open Line Autonome Paie build 1 :

Sources : https://support.ebp.com/hc/fr/articles/ ... eignement-

Premièrement il faut savoir que le binaire d'installation "EBPOL_2022_Autonome_Paie_13_12_0_13235.exe" n'est pas suffisant pour procéder à une installation complète monoposte (Instance SQL). Dans ce cas, l'installateur va essayer de télécharger le package d'installation SQL depuis les serveurs EBP, ainsi que le WebClient v1_1_3_137 (utilitaire de mise à jour + support Teamviewer). C'est pourquoi le code que je vous propose correspond à mon besoin, libre à vous de l'adapter.

Dans mon cas il est donc nécessaire d'avoir les fichiers suivants dans le paquet :
  • ebp_microsoft_sql_2017_x64_v3.7zip # Archive d'installation de l'instance SQL EBP récupérée lors d'une installation manuelle monoposte à renommer exactement comme ici (désolé je n'ai pas réussi à capturer le lien de téléchargement, à vous d'en faire autant ;) )
  • EBPOL_2022_Autonome_Paie_13_12_0_13235.exe # Le binaire principale téléchargeable avec son compte EBP
Une fois tous ces prérequis complétés, place au code :

Fichier control :

Code : Tout sélectionner

package           : wapt-ebp-paye-2022
version           : 11.0.0.0-1
architecture      : all
section           : base
priority          : optional
name              : EBP Paye 2022
categories        : 
maintainer        : olaplanche
description       : ebp_2022_paye (EBP)
depends           : 
conflicts         : 
maturity          : PROD
locale            : fr
target_os         : windows
min_wapt_version  : 
sources           : 
installed_size    : 
impacted_process  : EBP.Payroll.Application
description_fr    : Envie d'optimiser la production de votre paie ? Profitez d'un logiciel de paie et administration du personnel clé en main, paramétré à votre activité. Fiabilisez son traitement grâce à l'automatisation des tâches et aux mises à jours incluses. Vous réduisez ainsi vos coûts administratifs et consacrez plus de temps aux tâches à plus forte valeur ajouter.
description_pl    : 
description_de    : 
description_es    : 
description_pt    : 
description_it    : 
description_nl    : 
description_ru    : 
audit_schedule    : 
editor            : EBP
keywords          : 
licence           : 
homepage          : https://www.ebp.com/logiciel-paie/solution-autonome
package_uuid      : 4dd1026c-2bde-4edc-9d1b-42080ff0cebb
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 
Fichier setup.py (Non vous ne rêvez pas, j'utilise bien ici psexec pour exécuter le binaire avec le compte system :o Sans ça rien ne fonctionne :lol: ) :
J'ai testé sans succès : install_exe/msi_if_needed(), run(), run_as_admin(), run_powershell(-verb runAs)

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

# Defining variables
bin_name_string = 'EBPOL_2022_Autonome_Paie_13_12_0_13235.exe' # Le numéro de version dans le nom du binaire ne correspond pas au control.version !!!
# WEBCHECKED=FALSE car sinon la version 1.1.3 de l'utilitaire de mise à jour sera installé
silentargs_EBP_SQL = '/s NETWORK=FALSE PERSONALIZED=TRUE WEBCHECKED=FALSE' # Paramètre pour une installation silencieuse Monoposte EBP + SQL
silentargs_EBP = '/s NETWORK=TRUE PERSONALIZED=TRUE WEBCHECKED=FALSE' # Paramètre pour une installation silencieuse Réseau EBP (pas besoin de psexec dans ce cas là, la fonction install_exe_if_needed serait même suffisante)

def install():
    # Installing the package
    if installed_softwares ('EBP Paie Autonome Open Line 2022 13.12'): # Attention le binaire désinstalle la version courante si identique...
        print('Software %s already installed' % control.package)
        pass
    else:
        print('Installing %s' % control.package)
        run(r'psexec.exe -i -s %s\EBPOL_2022_Autonome_Paie_13_12_0_13235.exe %s' % (basedir,silentargs_EBP_SQL),timeout=1200) 
        #remove_desktop_shortcut('EBP Paie Autonome Open Line 2022 13.12 .lnk') # Suppression du raccourçi sur le bureau
        print('Installing Utilitaire de mise à jour des logiciels EBP 1.1.4')
        install_exe_if_needed("EBP_WebClient_1_1_4_156_Setup.exe",silentflags="/s",min_version="1.1.4") # MAJ de l'utilitaire de mise à jour des logiciels EBP 1.1.4 et Teamviewer QS pour le support EBP

def uninstall():
    # Initializing variables
    silentargs_SQL = '/ACTION="Uninstall" /SUPPRESSPRIVACYSTATEMENTNOTICE="False" /ENU="False" /QUIET="False" /QUIETSIMPLE="True" /FEATURES=SQLENGINE,REPLICATION /HELP="False" /INDICATEPROGRESS="False" /X86="False" /INSTANCENAME="EBP"' # Paramètres pour la désinstallation silencieuse de l'instance SQL EBP
    psexec_path = '//monserveur/SysinternalsSuite$/PsExec.exe' # Chemin où se trouve le binaire psexec.exe à copier sur le poste (le groupe AD Ordinateurs du domaine doit avoir accès en lecture si partage réseau)

    # Uninstalling the package
    print('Uninstalling %s' % control.package)
    run(r'"%s\{89F51B55-CA39-4541-96A8-992BB651ECFE}\setup.exe" /s REMOVE=TRUE MODIFY=FALSE' % programdata) # EBP Paie Autonome Open Line 2022 13.12
    print('Uninstalling Utilitaire de mise à jour des logiciels EBP 1.1.4')
    run('"%s\{1EC042F4-00FE-4251-9F1D-E7DD25B8E895}\setup.exe" /s REMOVE=TRUE MODIFY=FALSE' % programdata) # Utilitaire de mise à jour des logiciels EBP 1.1.4
    print('Uninstalling Instance SQL EBP')
    filecopyto(psexec_path,'c:/windows/temp')
    run(r'c:\windows\temp\psexec.exe -i -s "%s\Microsoft SQL Server\140\Setup Bootstrap\SQL2017\setup.exe" %s' % (programfiles64,silentargs_SQL),timeout=1200) # Instance SQL EBP
    remove_file('c:/windows/temp/psexec.exe')
    print('Uninstalling Microsoft ODBC Driver 13 for SQL Server')
    run('"msiexec.exe" /X{2A35FB4B-FF5D-4C40-BABB-84397E57A8B0} /qn') # Microsoft ODBC Driver 13 for SQL Server
    print('Uninstalling Service de langage T-SQL Microsoft SQL Server 2017')
    run('"msiexec.exe" /X{7051E3D8-7B59-4E38-A94F-BBA621D98267} /qn') # Service de langage T-SQL Microsoft SQL Server 2017
    print('Uninstalling Microsoft SQL Server 2012 Native Client')
    run('"msiexec.exe" /X{BD124715-29D5-4A2E-82EE-0F4392D9CFE3} /qn') # Microsoft SQL Server 2012 Native Client
A venir :
Peut-être un build 2 avec un paquet séparé pour l'installation de l'instance SQL.
Les paquets pour la suite EBP PGI Education \o/
Dernière modification par olaplanche le 08 févr. 2023 - 16:17, modifié 4 fois.
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
Avatar de l’utilisateur
jpele
Messages : 145
Inscription : 04 mars 2019 - 12:01
Localisation : Nantes

11 févr. 2022 - 10:20

Bonjour Olivier,

Je ne suis pas sûr de comprendre si tu es parvenu à installer microsoft-sql-server-2017 via le paquet WAPT.

J'ai déjà travaillé sur un paquet EBP et suis parvenu à faire un paquet tis-microsoft-sql-server-2014-express-ebp fonctionnel.
Si tu as besoin n'hésite pas à prendre du support pour que nous puissions travailler sur le paquet ebp_microsoft_sql_2017_x64_v3.7zip

Cordialement,
Jimmy
olaplanche
Messages : 173
Inscription : 26 janv. 2017 - 11:11

11 févr. 2022 - 10:49

Oui dans le code que je propose, l'installation d'EBP + l'instance SQL en même temps est fonctionnelle comme le ferait l'installeur lors d'une installation manuelle ;)

Le fait d'avoir décortiqué le fonctionnement de l’installeur me donne bon espoir de pourvoir séparer en deux paquets l'installation de l'instance SQL et du client EBP !

Je te tiens au courant.
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
florentR2
Messages : 94
Inscription : 13 févr. 2020 - 17:23

11 févr. 2022 - 11:34

Ce serait une très bonne nouvelle car on a le même soucis avec EBP !
Tu confirmes que le package fonctionne bien en mode déploiement classique et pas seulement dans Pyscripter/wapt-get install ?

Chez nous grace a wapt c'est quand meme maintenant simplifié. On a juste fait un package qui copie les fichiers d'install en local et dans la console on a ajouté en outils externe un psexec qui lance l'install, et avec un clic droit sur tout les pc qui en ont besoin ça l'installe. C'est pas parfait mais mieux qu'avant ou on se coltinait ça a la main sur tout les pc un par un.
olaplanche
Messages : 173
Inscription : 26 janv. 2017 - 11:11

11 févr. 2022 - 11:45

Oui je confirme que tout fonctionne, testé sur un VM de test identique au PC de prod.

Le code que je propose installe automatiquement le client EBP + l'instance SQL et le Webclient 1.1.4.
La désinstallation désinstalle tout, le client EBP, le Web client 1.1.4, l'instance SQL et toutes ces dépendances !
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
florentR2
Messages : 94
Inscription : 13 févr. 2020 - 17:23

11 févr. 2022 - 13:17

Ok merci je testerais cela pour la prochaine rentrée avec la nouvelle version !
Avatar de l’utilisateur
jpele
Messages : 145
Inscription : 04 mars 2019 - 12:01
Localisation : Nantes

11 févr. 2022 - 14:57

Par simple lecture je pense que l'installation dépend d'internet, je ne vois pas où est donné le zip que j'avais déjà du récupérer manuellement également.
Donc il est fort probable que le zip soit téléchargé à chaque installation.
olaplanche
Messages : 173
Inscription : 26 janv. 2017 - 11:11

11 févr. 2022 - 16:00

Paquet wapt-microsoft-sql-server-2017-express-ebp : viewtopic.php?t=2929

Build 2 du paquet Paquet EBP Open Line Autonome Paie en cours ;)
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
olaplanche
Messages : 173
Inscription : 26 janv. 2017 - 11:11

11 févr. 2022 - 16:21

:!: Build 2 beaucoup plus simple maintenant : :!:

Fichier control :

Code : Tout sélectionner

package           : wapt-ebp-paye-2022
version           : 11.0.0.0-74
architecture      : all
section           : base
priority          : optional
name              : EBP Paye 2022
categories        : 
maintainer        : olaplanche
description       : ebp_2022_paye (EBP)
depends           : wapt-microsoft-sql-server-2017-express-ebp
conflicts         : 
maturity          : PROD
locale            : fr
target_os         : windows
min_wapt_version  : 
sources           : https://support.ebp.com/hc/fr/articles/360000159638-Param%C3%A9trage-du-fichier-InstallEBP-dans-EBP-%C3%89ducation-pack-enseignement-
installed_size    : 
impacted_process  : EBP.Payroll.Application
description_fr    : Envie d'optimiser la production de votre paie ? Profitez d'un logiciel de paie et administration du personnel clé en main, paramétré à votre activité. Fiabilisez son traitement grâce à l'automatisation des tâches et aux mises à jours incluses. Vous réduisez ainsi vos coûts administratifs et consacrez plus de temps aux tâches à plus forte valeur ajouter.
description_pl    : 
description_de    : 
description_es    : 
description_pt    : 
description_it    : 
description_nl    : 
description_ru    : 
audit_schedule    : 
editor            : EBP
keywords          : 
licence           : 
homepage          : https://www.ebp.com/logiciel-paie/solution-autonome
package_uuid      : 0fb002ff-3e13-4f41-82b8-4d1a5c2ecb8a
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 
Fichier setup.py :

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

# Defining variables
bin_name_string = 'EBPOL_2022_Autonome_Paie_13_12_0_13235.exe' # Le numéro de version dans le nom du binaire ne correspond pas au control.version !!!
# WEBCHECKED=FALSE car sinon la version 1.1.3 de l'utilitaire de mise à jour sera installé
silentargs_EBP_SQL = '/s NETWORK=FALSE PERSONALIZED=TRUE WEBCHECKED=FALSE' # Paramètre pour une installation silencieuse Monoposte EBP + SQL
silentargs_EBP = '/s NETWORK=TRUE PERSONALIZED=TRUE WEBCHECKED=FALSE' # Paramètre pour une installation silencieuse Réseau EBP (pas besoin de psexec dans ce cas là, la fonction install_exe_if_needed serait même suffisante)

def install():
    # Installing the package
    if installed_softwares ('EBP Paie Autonome Open Line 2022 13.12'): # Attention le binaire désinstalle la version courante si identique...
        print('Software %s already installed' % control.package)
        pass
    else:
        print('Installing %s' % control.package)
        install_exe_if_needed(bin_name_string,silentargs_EBP)
        #remove_desktop_shortcut('EBP Paie Autonome Open Line 2022 13.12 .lnk') # Suppression du raccourçi sur le bureau
        print('Installing Utilitaire de mise à jour des logiciels EBP 1.1.4')
        install_exe_if_needed("EBP_WebClient_1_1_4_156_Setup.exe",silentflags="/s",min_version="1.1.4") # MAJ de l'utilitaire de mise à jour des logiciels EBP 1.1.4 et Teamviewer QS pour le support EBP

def uninstall():
    # Uninstalling the package
    print('Uninstalling %s' % control.package)
    run(r'"%s\{89F51B55-CA39-4541-96A8-992BB651ECFE}\setup.exe" /s REMOVE=TRUE MODIFY=FALSE' % programdata) # EBP Paie Autonome Open Line 2022 13.12
    print('Uninstalling Utilitaire de mise à jour des logiciels EBP 1.1.4')
    run('"%s\{1EC042F4-00FE-4251-9F1D-E7DD25B8E895}\setup.exe" /s REMOVE=TRUE MODIFY=FALSE' % programdata) # Utilitaire de mise à jour des logiciels EBP 1.1.4
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
olaplanche
Messages : 173
Inscription : 26 janv. 2017 - 11:11

08 févr. 2023 - 08:56

:!: Build 3 du 08/02/2023 :!:

Refonte totale du code :
  • Utilisation au maximum de variable
  • Utilisation des fonctions natives à wapt
  • Ajout de la gestion du numéro de version (puisque EBP ne le fait pas...)
  • Ajout de la mise à jour du logiciel qui ne fonctionnait pas correctement dans le build 2
fichier control :

Code : Tout sélectionner

package           : wapt-ebp-paye-2022
version           : 13.21-74
architecture      : all
section           : base
priority          : optional
name              : EBP Paie Autonome Open Line 2022
categories        : 
maintainer        : olaplanche
description       : 
depends           : wapt-microsoft-sql-server-2017-express-ebp
conflicts         : 
maturity          : PROD
locale            : fr
target_os         : windows
min_wapt_version  : 
sources           : https://support.ebp.com/hc/fr/articles/360000159638-Param%C3%A9trage-du-fichier-InstallEBP-dans-EBP-%C3%89ducation-pack-enseignement-
installed_size    : 
impacted_process  : EBP.Payroll.Application
description_fr    : Envie d'optimiser la production de votre paie ? Profitez d'un logiciel de paie et administration du personnel clé en main, paramétré à votre activité. Fiabilisez son traitement grâce à l'automatisation des tâches et aux mises à jours incluses. Vous réduisez ainsi vos coûts administratifs et consacrez plus de temps aux tâches à plus forte valeur ajouter.
description_pl    : 
description_de    : 
description_es    : 
description_pt    : 
description_it    : 
description_nl    : 
description_ru    : 
audit_schedule    : 
editor            : EBP
keywords          : 
licence           : 
homepage          : https://www.ebp.com/logiciel-paie/solution-autonome
fichier setup.py :

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""

# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_contains = 'EBPOL_2022_Autonome_Paie_' # The ProductVersion from binary is not corresponding to the control.version and is not usable, we will spoof it later !
silentflags = '/s NETWORK=TRUE PERSONALIZED=TRUE WEBCHECKED=FALSE' # WEBCHECKED=FALSE otherwise the 1.1.3 version of the update utility will be installed. We don't need it to manage update with WAPT
silent_uninstallflags = " /s REMOVE=TRUE MODIFY=FALSE"
app_uninstallkey = "EBP Paie Autonome Open Line 2022 %s " # The uninstallkey is changing everytime with new version of the software, we have to guess it from package_version !
app_displayname_contains = "EBP Paie Autonome Open Line 2022"

def install():
    # Initializing variables
    package_version = control.get_software_version()
    bin_name = glob.glob("*%s*.exe" % bin_contains)[0]

    # Skip if already installed
    if need_install(app_uninstallkey % package_version,min_version=package_version):

        # Uninstalling others versions
        for uninstall in installed_softwares(app_displayname_contains):
            if uninstall['uninstall_string']: # test if the uninstallkey had an uninstall_string because there are two uninstallkey for the same software...
                print("Removing: %s" % (uninstall["name"]))
                killalltasks(control.get_impacted_process_list())
                run(uninstall_cmd(uninstall["key"]))
                wait_uninstallkey_absent(uninstall["key"])

        # Installing the package
        print('Installing %s' % bin_name)
        install_exe_if_needed(bin_name,silentflags=silentflags,key=app_uninstallkey % package_version,timeout=900)
        #remove_desktop_shortcut(app_displayname_contains + " %s " % package_version) # Remove a shortcut from the desktop of all users if needed

    else:

        # Making sure uninstallkey is known
        uninstallkey.append(app_uninstallkey % package_version)

    # Add a silent uninstall command to the registry
    for uninstallstring in installed_softwares(app_displayname_contains):
        silent_uninstall_cmd = uninstallstring['uninstall_string'].split(" ",1)[0] + silent_uninstallflags
        register_uninstall(uninstallkey=app_uninstallkey % package_version,quiet_uninstall_string=silent_uninstall_cmd,display_version=package_version) # we are spoofing the version's number right here
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
Verrouillé