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