Page 1 sur 1
Installation aléatoire
Publié : 01 juin 2026 - 08:36
par Lazaare
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 !
Re: Installation aléatoire
Publié : 01 juin 2026 - 09:52
par italbot
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
Re: Installation aléatoire
Publié : 01 juin 2026 - 10:13
par Lazaare
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 ?
Re: Installation aléatoire
Publié : 01 juin 2026 - 11:01
par dcardon
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
Re: Installation aléatoire
Publié : 01 juin 2026 - 13:29
par Lazaare
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
Re: Installation aléatoire
Publié : 01 juin 2026 - 16:14
par dcardon
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
Re: Installation aléatoire
Publié : 02 juin 2026 - 10:15
par Lazaare
Bonjour Denis,
après configuration de la machine comme indiqué, je me retrouve avec le même message d'erreur concernant le SHA. Quelles peuvent être les autres causes de ce problème ? Sachant que sur 2 machines du parc, le paquet s'installe sans aucun soucis.
Re: Installation aléatoire
Publié : 10 juin 2026 - 10:16
par dcardon
Bonjour Lazare,
une autre piste peut être le fait que l'antivirus "mange" des fichiers, ou bien les lock quand on y accède pour vérifier le hash. Est ce que vous pourriez vérifier l'observateur d'évènement et/ou votre console antivirus.
Sinon par rapport à votre packaging, vous pouvez mettre tous les fichiers dans un zip et mettre le zip dans le paquet Wapt. Comme ça ça ne sera qu'un seul fichier à vérifier au moment de la validation de signature. Après vous faire le dézippe dans le paquet lui même.
Cordialement,
Denis
Re: Installation aléatoire
Publié : 17 juin 2026 - 14:56
par Lazaare
Bonjour,
Merci pour votre retour, je vais brancher le service info là dessus. J'ai cependant une question, pense-vous que ce problème de SHA pourrait venir de la manière dont je construis le paquet ? Plus précisément, je créé mon paquet WAPT, j'écris le code python puis j'insère à la main dans le pyScripter les différents fichiers.
Puis ces mêmes fichiers je les glisse également dans le paquet construit.
Pensez-vous que mon problème pourrait venir du fait que les fichiers, même si ils ont le même nom et sont contenus dans le paquet, n'ont pas le même chemin d'origine ? Mais cela n'expliquerait pas pourquoi sur certains postes l'installation se déroule sans problème...