Página 1 de 1

Problema de parámetros en la función create_programs_menu_shortcut()

Publicado: 10 de mayo de 2023 - 11:59
por brice73
Buen día,
Actualmente estoy creando un paquete para instalar el software DaVinci Resolve. Este paquete incluye un acceso directo a la cadena "C:\Archivos de programa\Blackmagic Design\DaVinci Resolve\Resolve.exe" -pg

El acceso directo se crea utilizando un diccionario de accesos directos en el archivo setup.py de la siguiente manera:

Definición de los parámetros del acceso directo:

Código: Seleccionar todo

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'},]}
Luego crea el acceso directo:

Código: Seleccionar todo

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 la instalación, se produce un error de parámetro con los siguientes mensajes:

Rastreo de la pila (llamada más reciente):
Archivo "C:\Program Files (x86)\wapt\common.py", línea 4074, en install_wapt
exitstatus = setup.install()
Archivo "C:\waptdev\col73-davinci-resolve_18.1.4.9_Windows_DEV\setup.py", línea 49, en install
create_programs_menu_shortcut(shortcut['shortcutname'],target=shortcut['cible'],folder=matiere,wDir=shortcut['wdir'])
Archivo "C:\Program Files (x86)\wapt\setuphelpers_windows.py", línea 3941, en create_programs_menu_shortcut
create_shortcut(sc, target, arguments, wDir, icon)
Archivo "C:\Program Files (x86)\wapt\setuphelpers_windows.py", línea 3840, en create_shortcut
winshell.CreateShortcut(path, target, arguments, wDir, (icon, 0), '')
Archivo "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", línea 887, en CreateShortcut
lnk = shortcut (Target)
Archivo "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", línea 507, en shortcut
return Shortcut.from_target (source)
Archivo "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", línea 414, en from_target
return cls (
Archivo "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", línea 391, en __init__
setattr (self, k, v)
Archivo "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", línea 456, en _set_path
self._shell_link.SetPath (path)
pywintypes.com_error: (-2147024809, 'Parámetro incorrecto.', None, None)

ERROR FATAL: 0x80070057: Parámetro incorrecto.
Código de salida: 3.


Este error no ocurre cuando se eliminan las comillas dobles "" del interior de la cadena delimitada por comillas simples ' ' en el destino del acceso directo, pero entonces el acceso directo ya no está operativo.

¿Hay alguna manera de solucionar este problema?

Re: Problema de parámetros en la función create_programs_menu_shortcut()

Publicado: 15 de mayo de 2023 - 16:39
por brice73
Edición:
¡Problema resuelto! :-) El argumento '-pg' debe pasarse al 'arguments' de la función create_programs_menu_shortcut() y no al 'target'. (Lo mismo se aplica en PowerShell).