At first sight there's a strange behavior in SHELL_execute() (read ShellExecuteEx() ): at tries to extract program path and arguments from SHELLEXECUTEINFOW.lpFile, if it's unquoted. http://source.winehq.org/source/dlls/shell32/shlexec.c?v=wine-1.1.37#L1709 On WinXP at least ShellExecuteExA() doesn't do it/ haven't yet tested with ShellExecuteExW(). This is harmful when you have 2 documents like "C:\aaa.txt" and "C:\aaa.txt bbb.txt"
Found an old thread about this, but it seems abandoned. http://www.mail-archive.com/wine-devel@winehq.org/msg57246.html