Page 1 sur 1

problème de paramètre dans la fonction create_programs_menu_shortcut()

Posté : 10 mai 2023 - 11:59
par brice73
Bonjour,
Je procède actuellement à la création d'un paquet pour l'installation du logiciel Da Vinci Resolve. Dans celui-ci figure un raccourci avec pour cible la chaîne "C:\Program Files\Blackmagic Design\DaVinci Resolve\Resolve.exe" -pg

La création du raccourci est réalisé au moyen d'un dictionnaire de raccourcis dans le fichier setup.py de la façon suivante :

définition des paramètres du raccourci :

Code : Tout sélectionner

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'},]}
puis création du raccourci :

Code : Tout sélectionner

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'])


Lors de l'installation une erreur de paramètre se produit avec les messages suivants :

Traceback (most recent call last):
File "C:\Program Files (x86)\wapt\common.py", line 4074, in install_wapt
exitstatus = setup.install()
File "C:\waptdev\col73-davinci-resolve_18.1.4.9_Windows_DEV\setup.py", line 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", line 3941, in create_programs_menu_shortcut
create_shortcut(sc, target, arguments, wDir, icon)
File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 3840, in create_shortcut
winshell.CreateShortcut(path, target, arguments, wDir, (icon, 0), '')
File "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", line 887, in CreateShortcut
lnk = shortcut (Target)
File "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", line 507, in shortcut
return Shortcut.from_target (source)
File "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", line 414, in from_target
return cls (
File "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", line 391, in __init__
setattr (self, k, v)
File "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\winshell.py", line 456, in _set_path
self._shell_link.SetPath (path)
pywintypes.com_error: (-2147024809, 'Paramètre incorrect.', None, None)

FATAL ERROR : 0x80070057 : Paramètre incorrect.
Exit code: 3


Cette erreur ne se produit pas lorsque les double guillemets "" sont enlevés à l'intérieur de la chaine délimitée par les guillemets simples ' ' dans la cible du raccourci, mais le raccourci n'est alors plus opérationnel.

Y-a-t-il un moyen de résoudre ce problème?

Re: problème de paramètre dans la fonction create_programs_menu_shortcut()

Posté : 15 mai 2023 - 16:39
par brice73
edit :
Le problème est résolu! :-) l'argument ' -pg' doit en fait être passé au paramètre 'arguments' dans la fonction create_programs_menu_shortcut() et non au paramètre 'target'. (même chose sous powershell par ailleurs).