Page 1 of 1
Random installation
Published: June 1, 2026 - 08:36
by Lazaare
For WAPTConsole Enterprise version 2.6.1.17765 and Windows.
Hello everyone,
I am trying to deploy a "homemade" WAPT package. A folder and file structure is contained within the package, and via the setup.py file configured in PyScripter, I am copying/pasting these files into the same folder structure already present on the machine.
However, when I deploy this package, on some machines it installs perfectly fine, no problem. While on other machines (which are technically exactly the same), this error log appears in WAPT:
Code: Select all
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
I have checked for the absence of blocking files such as "thumbs.db" or "desktop.ini".
Looking at other posts, I have checked the integrity of the build via PyScriter and I know that I do not have an antivirus that is modifying files.
Do you have any suggestions on how to resolve this issue?
Thanks in advance !
Re: Random installation
Published: June 1, 2026 - 09:52
by italbot
Hello,
If it installs correctly on some machines, I suspect a file has been modified by the system.
What types of files are included in your package? Is it possible to see the script in the setup file?
Sincerely,
Ingrid
Re: Random installation
Published: June 1, 2026 - 10:13
by Lazaare
Code: Select all
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
That's the "setup" code.
And the files in the package are essentially..
- json
- vgeo
- pdf
How could the files be modified between the PyScripter build and the upload to WAPT?
Re: Random installation
Published: June 1, 2026 - 11:01
by dcardon
Hello Lazare,
Does this list include all the files, or just a portion? Does it include the installation paths for files longer than 256 characters?
Regards,
Denis
Re: Random installation
Published: June 1, 2026 - 1:29 PM
by Lazaare
Hello Denis,
The maximum length of a path would be 243. Would a path longer than 256 cause a blockage?
Regarding the precise list of file extensions:
- 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: Random installation
Published: June 1, 2026 - 4:14 PM
by dcardon
Hello Lazarus,
By default, Windows has historically had a maximum path length of 256 characters. Modern systems do not have this limitation, which is now entirely artificial. However, depending on the machine configuration and how the local filesystem is accessed, the limitation may or may not apply.
When installing the wapt package, it is unzipped into c:\windows\temp in a directory with a random name, the length of which is added to the 243 characters you already have in your directory tree...
On one of the machines that are experiencing problems, could you please check the value of:
Code: Select all
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"LongPathsEnabled"=dword:00000001
And if it is at 0, can you try changing it to 1 to see if that solves the problem (on a machine).
Sincerely,
Denis
Re: Random installation
Published: June 2, 2026 - 10:15 AM
by Lazaare
Hello Denis,
after configuring the machine as instructed, I'm still getting the same SHA error message. What other causes could be causing this problem? The package installs without any issues on two other machines in the network.
Re: Random installation
Published: June 10, 2026 - 10:16
by dcardon
Hello Lazare,
another possibility could be that the antivirus is "eating" files, or locking them when accessed to verify the hash. Could you check the Event Viewer and/or your antivirus console?
Regarding your packaging, you could put all the files in a zip archive and place the zip file inside the WAPT package. This way, it will only be a single file to verify during signature validation. Then you can extract it into the package itself.
Regards,
Denis
Re: Random installation
Published: June 17, 2026 - 2:56 PM
by Lazaare
Hello,
thank you for your feedback. I'll get the IT department involved. I do have a question, though: do you think this SHA problem could be related to how I'm building the package? Specifically, I create my WAPT package, write the Python code, and then manually insert the various files into PyScripter.
Then I also drag and drop these same files into the package I've created.
Do you think my problem could stem from the fact that the files, even though they have the same name and are contained within the package, don't have the same original path? But that wouldn't explain why the installation proceeds without issue on some machines...