Pagina 1 di 1

problema di parametri nella funzione create_programs_menu_shortcut()

Pubblicato: 10 maggio 2023 - 11:59
di brice73
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?

Re: Problema con i parametri nella funzione create_programs_menu_shortcut()

Pubblicato: 15 maggio 2023 - 16:39
di brice73
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).