Seite 1 von 1

Zufällige Installation

Veröffentlicht: 1. Juni 2026 - 08:36 Uhr
von Lazaare
Für WAPTConsole Enterprise Version 2.6.1.17765 und Windows.

Hallo zusammen,
Ich versuche, ein selbst erstelltes WAPT-Paket bereitzustellen. Das Paket enthält eine Ordner- und Dateistruktur, die ich mithilfe der in PyScripter konfigurierten setup.py-Datei in die bereits vorhandene Ordnerstruktur auf dem Rechner kopiere.
Wenn ich dieses Paket jedoch verteile, lässt es sich auf einigen Rechnern problemlos installieren. Auf anderen Rechnern (die technisch exakt gleich sind) erscheint hingegen folgender Fehler im WAPT-Protokoll:

Code: Alle auswählen

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
Ich habe überprüft, ob blockierende Dateien wie „thumbs.db“ oder „desktop.ini“ vorhanden sind.
Nachdem ich andere Beiträge gelesen habe, habe ich die Integrität des Builds mit PyScriter überprüft und weiß, dass ich kein Antivirenprogramm habe, das Dateien verändert.
Haben Sie Vorschläge, wie dieses Problem gelöst werden kann?

Dank im Voraus !

Betreff: Zufällige Installation

Veröffentlicht: 1. Juni 2026 - 09:52 Uhr
von italbot
Hallo,

falls die Installation auf manchen Rechnern problemlos funktioniert, vermute ich, dass eine Datei vom System verändert wurde.

Welche Dateitypen sind in Ihrem Paket enthalten? Ist das Skript in der Setup-Datei einsehbar?

Mit freundlichen Grüßen,

Ingrid

Betreff: Zufällige Installation

Veröffentlicht: 1. Juni 2026 - 10:13 Uhr
von Lazaare

Code: Alle auswählen

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
Das ist der „Setup“-Code.
Und die Dateien im Paket sind im Wesentlichen..
- json
- vgeo
- PDF

Wie könnten die Dateien zwischen dem PyScripter-Build und dem Upload zu WAPT verändert worden sein?

Betreff: Zufällige Installation

Veröffentlicht: 1. Juni 2026 - 11:01 Uhr
von dcardon
Hallo Lazare,

enthält diese Liste alle Dateien oder nur einen Teil? Sind auch die Installationspfade für Dateien mit mehr als 256 Zeichen enthalten?

Viele Grüße,

Denis

Betreff: Zufällige Installation

Veröffentlicht: 1. Juni 2026 – 13:29 Uhr
von Lazaare
Hallo Denis,

Die maximale Pfadlänge beträgt 243. Würde ein Pfad, der länger als 256 ist, eine Blockade verursachen?
Hinsichtlich der genauen Liste der Dateierweiterungen:
  • png / jpg
    Symbole / 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

Betreff: Zufällige Installation

Veröffentlicht: 1. Juni 2026 - 16:14 Uhr
von dcardon
Hallo Lazarus,

Windows hatte standardmäßig eine maximale Pfadlänge von 256 Zeichen. Moderne Systeme kennen diese Beschränkung nicht mehr; sie ist heute rein künstlich. Je nach Systemkonfiguration und Zugriffsmethode auf das lokale Dateisystem kann diese Beschränkung jedoch relevant sein oder nicht.

Bei der Installation des wapt-Pakets wird dieses in c:\windows\temp in ein Verzeichnis mit einem zufälligen Namen entpackt, dessen Länge zu den bereits in Ihrer Verzeichnisstruktur vorhandenen 243 Zeichen addiert wird...

Könnten Sie bitte auf einem der Rechner, die Probleme bereiten, den Wert von Folgendem überprüfen:

Code: Alle auswählen

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"LongPathsEnabled"=dword:00000001
Und falls der Wert auf 0 steht, können Sie versuchen, ihn auf 1 zu ändern, um zu sehen, ob das das Problem löst (an einem Rechner)?.

Aufrichtig,

Denis

Betreff: Zufällige Installation

Veröffentlicht: 2. Juni 2026 - 10:15 Uhr
von Lazaare
Hallo Denis,

nachdem ich die Maschine wie beschrieben konfiguriert habe, erhalte ich immer noch dieselbe SHA-Fehlermeldung. Welche anderen Ursachen könnten dafür verantwortlich sein? Das Paket lässt sich auf zwei anderen Rechnern im Netzwerk problemlos installieren.

Betreff: Zufällige Installation

Veröffentlicht: 10. Juni 2026 - 10:16 Uhr
von dcardon
Hallo Lazare,

eine weitere Möglichkeit wäre, dass das Antivirenprogramm Dateien blockiert oder beim Zugriff zur Hash-Überprüfung sperrt. Könntest du bitte die Ereignisanzeige und/oder die Konsole deines Antivirenprogramms überprüfen?

Bezüglich der Paketierung: Du könntest alle Dateien in ein ZIP-Archiv packen und dieses in das WAPT-Paket einfügen. Dadurch muss bei der Signaturvalidierung nur eine einzige Datei überprüft werden. Anschließend kannst du sie in das Paket extrahieren.

Viele Grüße,

Denis