On Wed Mar 4 05:30:34 2026 +0000, Nikolay Sivov wrote:
Commits need to be squashed. To better understand how this should be fixed, could you tell how this is called by the application? Is it called directly or from automation/scripting? Through analysis of the call stack, the application delegates the process creation behavior to explorer.exe by invoking COM interfaces via RPC. The specific process is as follows:
(1) Create a IShellWindows instance of the local service(CLSCTX_LOCAL_SERVER).\ 0168:trace:ole:CoCreateInstanceEx {9ba05972-f6a8-11cf-a442-00a0c90a8f39}, 00000000, 0x4, 00000000, 1, 0012BB64 (2) Obtain the IDispatch object via the FindWindowSW interface.\ 004c:0050:trace:explorer:shellwindows_FindWindowSW iface 000000000041F240, location 00007FFFFE966460, root 00007FFFFE9665A0, class 0x8, hwnd 00007FFFFE94A150, options 0x1, disp 00007FFFFE94A180.\ 004c:0050:trace:shell:shellfolderviewdual_get_Application 00007FFFFE92AF90 00007FFFFE948210 (3) Invoke the ShellExecute interface.\ 004c:0050:trace:shell:ShellDispatch_ShellExecute (..., 00007FFFFE95F020 {VT_EMPTY}, 00007FFFFE95F060 {VT_EMPTY}, 00007FFFFE95F0A0 {VT_EMPTY}) -- https://gitlab.winehq.org/wine/wine/-/merge_requests/9997#note_131193