`Execute a program` not receiving the correct data

Hi, I’ve been using custom actions of the Execute a program type and it has been working flawlessly except for these last versions.

This is one of the commands I execute:

'C:\windows\myapp.exe' '<MTX_DESTINATION_FILE_NAME>' '<MTX_SOURCE_FILE_NAMES>' --remove --log-level DEBUG

It is not working since it’s doing nothing at all and that is because it receives the placeholders themselves:

Output file: <MTX_DESTINATION_FILE_NAME>
Input files: ['<MTX_SOURCE_FILE_NAMES>']
Remove original file: True
Input video file: <MTX_SOURCE_FILE_NAMES>

(that Input video file is resolved from the Input files list)

I’m using what is being recommended in the examples given in that same window which say:


 Open the multiplexed file with a player: 
 'C:\Program Files (x86)\VideoLAN\VLC\vlc.exe' '<MTX_DESTINATION_FILE_NAME>'

But it seems it is now working exactly as bash where strings inside single quotes aren’t expanded at all?

I think that at least in version 95 it was working well, but can’t remember exactly because before updating to the previous v100 I was several versions behind.

I think you’re describing what’s been fixed with this commit which is part of release v101 from about a week ago.

It’s quite possible that the issue you’ve reported is not fixed by the commit I’ve linked to. Another user has just opened an issue over on Codeberg for practically the same description: using a variable in place of an argument to an executable, not as the executable itself. The aforementioned fix was only to variables not applying in the executable itself.

I’ll investigate. You can follow that issue over on Codeberg for updates.

Yep, this was a real bug introduced in v100. It’s now been fixed & will be part of the v102 release.