problema di parametri nella funzione create_programs_menu_shortcut()

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
brice73
Messaggi: 42
Iscrizioni: 13 febbraio 2023 - ore 8:05

10 maggio 2023 - 11:59

Buongiorno,
Sto creando un pacchetto per l'installazione del software DaVinci Resolve. Questo pacchetto include una scorciatoia che punta alla stringa "C:\Programmi\Blackmagic Design\DaVinci Resolve\Resolve.exe" -pg

La scorciatoia viene creata utilizzando un dizionario delle scorciatoie nel file setup.py come segue:

Definizione dei parametri di scelta rapida:

Codice: Seleziona tutto

mat_rac = {r'Multimedia':[{'shortcutname':'DaVinci Blackmagic Proxy Generator Lite','cible':r'"C:\Program Files\Blackmagic Design\DaVinci Resolve\Resolve.exe" -pg','wdir':r'C:\Program Files\Blackmagic Design\DaVinci Resolve'},]}
quindi crea la scorciatoia:

Codice: Seleziona tutto

for matiere in mat_rac:
        for shortcut in mat_rac[matiere]:
            if not isfile(r'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\\'+matiere+'\\'+shortcut['shortcutname']):
                create_programs_menu_shortcut(shortcut['shortcutname'],target=shortcut['cible'],folder=matiere,wDir=shortcut['wdir'])


Durante l'installazione si verifica un errore di parametro con i seguenti messaggi:

Traceback (most recent call last):
File "C:\Program Files (x86)\wapt\common.py", riga 4074, in install_wapt
exitstatus = setup.install()
File "C:\waptdev\col73-davinci-resolve_18.1.4.9_Windows_DEV\setup.py", riga 49, in install
create_programs_menu_shortcut(shortcut['shortcutname'],target=shortcut['cible'],folder=matiere,wDir=shortcut['wdir'])
File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", riga 3941, in create_programs_menu_shortcut
create_shortcut(sc, target, arguments, wDir, icon)
File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", riga 3840, in create_shortcut
winshell.CreateShortcut(path, target, arguments, wDir, (icon, 0), '')
File "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", riga 887, in CreateShortcut
lnk = shortcut (Target)
File "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", riga 507, in shortcut
return Shortcut.from_target (source)
File "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", riga 414, in from_target
return cls (
File "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", riga 391, in __init__
setattr (self, k, v)
File "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", riga 456, in _set_path
self._shell_link.SetPath (path)
pywintypes.com_error: (-2147024809, 'Parametro errato.', None, None)

ERRORE FATALE: 0x80070057: Parametro errato.
Codice di uscita: 3.


Questo errore non si verifica quando le virgolette doppie "" vengono rimosse dall'interno della stringa delimitata da virgolette singole ' ' nella destinazione del collegamento, ma il collegamento non è più operativo.

Esiste un modo per risolvere questo problema?
WAPT Enterprise 2.6.1.17765
Server WAPT su Debian 13
Amministrazione/creazione di pacchetti su Windows 11/10
brice73
Messaggi: 42
Iscrizioni: 13 febbraio 2023 - ore 8:05

15 maggio 2023 - 16:39

Modifica:
Il problema è risolto! :-) L'argomento '-pg' deve essere effettivamente passato al 'arguments' nella funzione create_programs_menu_shortcut() e non al 'target'. (Lo stesso vale anche in PowerShell).
WAPT Enterprise 2.6.1.17765
Server WAPT su Debian 13
Amministrazione/creazione di pacchetti su Windows 11/10
Bloccato