Installation aléatoire

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
Lazaare
Messages : 7
Inscription : 28 nov. 2025 - 10:20

01 juin 2026 - 08:36

Pour WAPTConsole Entreprise version 2.6.1.17765 et windows.

Bonjour à tous,
je suis en train d'essayer de déployer un paquet WAPT "maison". Une arborescence de dossiers et de fichiers est contenue dans le paquet, et via le setup.py configuré dans PyScripter, je viens copier/coller ces fichiers dans la même arborescence déjà présente sur la machine.
Cependant, lorsque je déploie ce paquet, sur certaines machine, il s'installe parfaitement bien, aucun soucis. Tandis que sur d'autres machines (qui sont techniquement exactement les mêmes), ce log d'erreur s'affiche dans WAPT :

Code : Tout sélectionner

Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 4349, in install_wapt
    packagetempdir = entry.unzip_package(cabundle=self.cabundle, target_dir = tempfile.mkdtemp(prefix='wapt',dir=self.wapt_temp_dir))
  File "C:\Program Files (x86)\wapt\waptpackage.py", line 2664, in unzip_package
    raise e
  File "C:\Program Files (x86)\wapt\waptpackage.py", line 2656, in unzip_package
    verified_by = self.check_package_signature(cabundle,ignore_missing_files=ignore_missing_files)
  File "C:\Program Files (x86)\wapt\waptpackage.py", line 2607, in check_package_signature
    raise EWaptCorruptedFiles('Error in package %s in %s, files corrupted, SHA not matching for %s' % (self.asrequirement(), self.sourcespath, errors,))
waptpackage.EWaptCorruptedFiles: Error in package nomdupaquet-2026(=0-12) in C:\Program Files (x86)\wapt\private\tmp\wapt7uw7xem7, files corrupted, SHA not matching for liste de l'entièreté des fichiers contenus dans le paquet
J'ai bien vérifié l'absence de fichiers bloquants comme "thumbs.db" ou "desktop.ini".
En regardant les autres posts, j'ai bien vérifié l'intégrité du build via PyScriter ou encore je sais que je n'ai pas d'antivirus qui vient modifier des fichiers.
Auriez-vous une piste de comment régler ce problème ?

Merci d'avance !
italbot
Messages : 61
Inscription : 26 sept. 2023 - 15:50

01 juin 2026 - 09:52

Bonjour,

Si ça s'installe correctement sur certains postes, j'imaginerais bien un fichier modifié par le système.

Vous avez quels types de fichiers dans votre paquet ? Est-il possible de voir le script du fichier setup ?

Cordialement,

Ingrid
Tranquil IT
Lazaare
Messages : 7
Inscription : 28 nov. 2025 - 10:20

01 juin 2026 - 10:13

Code : Tout sélectionner

from setuphelpers import *
#import shutil
import os

uninstallkey = []
# déclarer les dossiers dans l'arborescence du paquet
sig_folder = "IdGISView"
resources_folder = "Resources"
idmeansplugin_folder = "IdMeansPlugin"
idoctplugin_folder = "IdOctPlugin"
settings_folder = "Settings"

dossiers_paquets_possibles = [
    os.path.join(sig_folder),
    os.path.join(resources_folder),
    os.path.join(idmeansplugin_folder),
    os.path.join(idoctplugin_folder),
    os.path.join(settings_folder)]

# déclarer le chemin de l'application CRIMSON, à déclarer comme dossier racine de destination
app_dir = makepath("c:", "CRIMSON 8.0.2", "Bin")

#
# Définir l'update des dossiers à partir de fichiers contenus dans les dossiers du paquet
def install():
    # Filtrer seulement les dossiers existants dans le paquet WAPT
    dossiers_paquet_reels = []
    for dossier in dossiers_paquets_possibles:
        if os.path.isdir(dossier):
            #print(f"ce dossier {dossier} existe")
            dossiers_paquet_reels.append(dossier)
        else:
            #print(f"ce dossier {dossier} n'existe pas")
            pass
        pass

    # boucler sur tous les dossiers sources (et donc leur equivalent en nom en dossier destination)
    for chaque_dossier in dossiers_paquet_reels:

        #print("mapping : %s" %dossier_racine_destination_equivalent)


        for root, dirs, files in os.walk(chaque_dossier):
            for file in files:
                    fichier_source = os.path.join(root, file)
                    creation_si_existe_pas = os.path.join(app_dir, root)
                    os.makedirs(os.path.join(creation_si_existe_pas), exist_ok=True)

                    if file.startswith("del_"):
                        file_a_delete = file[len("del_"):]
                        fichier_destination = os.path.join(root, file_a_delete)
                        chemin_et_fichier_destination = os.path.join(app_dir, fichier_destination)
                        if os.path.isfile(chemin_et_fichier_destination):
                            os.remove(chemin_et_fichier_destination)
                        else:
                            print("[INFO] fichier introuvable, suppression ignorée :", chemin_et_fichier_destination)

                    else:
                        fichier_destination = fichier_source
                        chemin_et_fichier_destination = os.path.join(app_dir, fichier_destination)
                        filecopyto(fichier_source, chemin_et_fichier_destination)
                    pass
            pass
        pass
    pass
def unistall():
    pass
Voilà pour le code de "setup".
Et les fichiers du paquets sont essentiellement des
- json
- vgeo
- pdf

Comment les fichiers pourraient être modifiés entre le build PyScripter et l'upload sur WAPT ?
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 1929
Inscription : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

01 juin 2026 - 11:01

Bonjour Lazare,

Est ce qu'il y a tous les fichiers dans cette liste, ou juste une partie? Est ce qu'il y a les chemins d'install des fichiers qui font plus de 256 caractères?

Cordialement,

Denis
Denis Cardon - Tranquil IT
Communiquez autour de vous sur WAPT! Envoyez nous vos url de blog et d'articles dans la catégorie votre avis du forum, nous les mettrons en avant sur le site WAPT
Lazaare
Messages : 7
Inscription : 28 nov. 2025 - 10:20

01 juin 2026 - 13:29

Bonjour Denis,

la longueur max d'un chemin serait de 243. Un chemin de plus de 256 bloquerait ?
Concernant la liste précise des extensions de fichiers:
  • png / jpg
    Symbols / sld
    svg
    vgt
    vrgis / vgeo
    dbf
    prj
    qix
    shp/shx
    vgeo
    xml
    bin
    db
    bgz
    pdf
    htm
    docx
    ink
    doc
    gif
    ppt
    xls / xlsx
    ods
    pps / ppsx / pptx
    - wmf
    js
    emz
    mp3
    odt
    dwg
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 1929
Inscription : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

01 juin 2026 - 16:14

Bonjour Lazare,

par défaut Windows a historiquement une longueur de chemin maximale de 256 caractères. Les systèmes modernes n'ont pas cette limitation qui est désormais complètement artificielle. Mais en fonction de la conf machine et en fonction de la manière dont on fait l'appel au filesystem local, la limitation peut être applicable ou pas.

Lors de l'installation du paquet wapt, celui ci est dézippé dans c:\windows\temp dans un répertoire avec un nom aléatoire, dont la longeur se rajoute au 243 caractères que vous avez déjà dans votre arborescence...

Sur une des machines qui posent problème, est ce que vous pourriez vérifier la valeur de :

Code : Tout sélectionner

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"LongPathsEnabled"=dword:00000001
Et si elle est à 0 est ce que vous pouvez essayer de la passer à 1 pour voir si ça résoud le problème (sur une machine).

Cordialement,

Denis
Denis Cardon - Tranquil IT
Communiquez autour de vous sur WAPT! Envoyez nous vos url de blog et d'articles dans la catégorie votre avis du forum, nous les mettrons en avant sur le site WAPT
Répondre