[RISOLTO] Errore durante la creazione di un pacchetto tramite il generatore di pacchetti per applicazioni portatili di Windows

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Bloccato
elux
Messaggi: 11
Iscrizioni: 12 dicembre 2022 - 09:02

18 agosto 2023 - 16:11

Buongiorno,
Ricevo un messaggio di errore quando provo a installare un pacchetto generato dalla console WAPT.
Il prodotto è W11Classicmenu e per installarlo è necessario copiare la directory. Ho quindi utilizzato l'opzione "Applicazione portatile Windows"
Purtroppo, ecco il messaggio di errore che ricevo quando provo a installarlo:

Codice: Seleziona tutto

Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 4009, in install_wapt
    setup = import_setup(setup_filename)
  File "C:\Program Files (x86)\wapt\waptutils.py", line 1525, in import_setup
    py_mod = imp.load_source(modulename, setupfilename)
  File "imp.py", line 171, in load_source
  File "<frozen importlib._bootstrap>", line 702, in _load
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 839, in exec_module
  File "<frozen importlib._bootstrap_external>", line 976, in get_code
  File "<frozen importlib._bootstrap_external>", line 906, in source_to_code
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\WINDOWS\TEMP\wapt1fubbh_4\setup.py", line 26
    print("Copying directory: %%s to: %%s" %% (dir_name, app_dir))
                                            ^
SyntaxError: invalid syntax

SyntaxError: invalid syntax (setup.py, line 26)

Il file setup.py mi sembra corretto:

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
dir_name = 'W11ClassicMenu'
app_name = 'W11ClassicMenu'
app_exe = 'W11ClassicMenu.exe'
app_dir = makepath(programfiles32, dir_name)
app_path = makepath(app_dir, app_exe)


def install():
    # Initializing variables

    # Installing software
    print("Installing: mgp-W11ClassicMenu")
    killalltasks(control.get_impacted_process_list())
    mkdirs(app_dir)
    if isdir(app_dir):
        remove_tree(app_dir)
    mkdirs(app_dir)
    print("Copying directory: %%s to: %%s" %% (dir_name, app_dir))
    copytree2(dir_name, app_dir)

    # Creating shortcuts
    create_desktop_shortcut(app_name, app_path)
    create_programs_menu_shortcut(app_name, app_path)


def uninstall():
    # Uninstalling software
    killalltasks(control.get_impacted_process_list())
    if isdir(app_dir):
        remove_tree(app_dir)

    # Removing shortcuts
    remove_desktop_shortcut(app_name)
    remove_programs_menu_shortcut(app_name)


def audit():
    # Declaring local variables
    package_version = '1.2.0.0'

    # Getting installed software version
    if isfile(app_path):
        installed_version = get_version_from_binary(app_path)
    else :
        installed_version = None

    # Auditing software
    print("Auditing: mgp-W11ClassicMenu")
    if installed_version is None or installed_version < package_version:
        print("%%s version is incorrect (%%s)" %% (app_name, installed_version))
        return "ERROR"
    else:
        print("%%s is installed in correct version (%%s)" %% (app_name, installed_version))
        return "OK"


Se hai idea di quale potrebbe essere il problema...
grazie in anticipo
Eric
Ultima modifica di elux il 28 agosto 2023 alle 15:48, modificato 1 volta.
Avatar utente
t.heroult
Messaggi: 304
Iscrizioni: 8 dicembre 2020 - ore 10:13

21 agosto 2023 - 09:19

Buongiorno

Nei pacchetti WAPT, in genere viene utilizzato solo un "%" e non due.

invece di

Codice: Seleziona tutto

print("Copying directory: %%s to: %%s" %% (dir_name, app_dir))
Proverei con

Codice: Seleziona tutto

print("Copying directory: %s to: %s" % (dir_name, app_dir))
Sinceramente,
Tom
Server: WAPT Enterprise 2.6.1.17765 su Debian
Console: Windows 10 e 11
Infrastruttura: Windows

Lo sapevi? Quando i pesci pappagallo subiscono la smoltificazione, il loro meccanismo di osmoregolazione si inverte!
Avatar utente
blemoigne
Messaggi: 176
Registrazione: 17 luglio 2020 - 11:29

21 agosto 2023 - 10:54

Buongiorno,
Python consiglia addirittura di utilizzare la seguente sintassi:

Codice: Seleziona tutto

print(f"Copying directory: {dir_name} to:  {app_dir}")
una f per "formato" prima della stringa e parentesi graffe per ogni variabile.

Distinti saluti,
Bertrand
elux
Messaggi: 11
Iscrizioni: 12 dicembre 2022 - 09:02

28 agosto 2023 - 15:48

Ciao,
sì, il problema è stato risolto, grazie mille!
Risolto
Bloccato