http://bugs.winehq.org/show_bug.cgi?id=19666
--- Comment #3 from Stefan Leichter Stefan.Leichter@camLine.com 2009-08-10 16:47:06 --- Found the difference between native and builtin shell32. It is the call to CreateProcessW() in function ShellExecuteExA() Native Shell32: ------------------------------------------------------------------------------ 0009:Call KERNEL32.CreateProcessW(0013e894 L"C:\windows\temp\fox1d1f.tmp\Foxit Reader Setup.exe",0013c5fc L""C:\windows\temp\fox1d1f.tmp\Foxit Reader Setup.exe" ",00000000,00000000,00000000,04000410,00000000,0013c3f4 L"L:\wine-bugs\19666",0013fef8,0013ff44) ret=007b37fc 0009:Ret KERNEL32.CreateProcessW() retval=00000001 ret=007b37fc 0025:Starting process L"C:\windows\temp\fox1d1f.tmp\Foxit Reader Setup.exe" (entryproc=0x40b850) ------------------------------------------------------------------------------ Builtin shell32 ------------------------------------------------------------------------------ 0009:Call KERNEL32.CreateProcessW(00000000,0032daac L"C:\windows\temp\fox213d.tmp\Foxit Reader Setup.exe",00000000,00000000,00000000,00000400,00000000,00000000,0032c968,0032c9ac) ret=7e8a4683 0009:Ret KERNEL32.CreateProcessW() retval=00000001 ret=7e8a4683 0026:Starting process L"C:\windows\temp\fox213d.tmp\Foxit Reader.exe" (entryproc=0x495db5) ------------------------------------------------------------------------------ But the main problem is that CreateProcessW picks the wrong executable when called from builtin ShellExecuteExA(). CreateProcessW starts "Foxit Reader.exe" instead of "Foxit Reader Setup.exe". Both executables are in the same directory.