https://bugs.winehq.org/show_bug.cgi?id=56940
Bug ID: 56940 Summary: vs_community.exe halts:"The application cannot find one of its required files, possibly because it was unable to create it in the folder." (regression) Product: Wine Version: 9.12 Hardware: x86-64 OS: Linux Status: NEW Keywords: download Severity: normal Priority: P2 Component: shell32 Assignee: wine-bugs@winehq.org Reporter: xerox.xerox2000x@gmail.com Regression SHA1: 0bad544aab9e2c9ee93bbabac0386e02c58a39c0 Distribution: Debian
Note: I installed .net48 beforehand
It throws this error, whereas before the regression you can enter the initial menu correctly.
0bad544aab9e2c9ee93bbabac0386e02c58a39c0 is the first bad commit commit 0bad544aab9e2c9ee93bbabac0386e02c58a39c0 Author: Yuxuan Shui yshui@codeweavers.com Date: Mon May 20 09:51:07 2024 +0100
shell32: Fix ShellExecute for non-filespec paths.
dlls/shell32/shlexec.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++------------- dlls/shell32/tests/shlexec.c | 13 ++++++++++++- 2 files changed, 59 insertions(+), 14 deletions(-)
https://bugs.winehq.org/show_bug.cgi?id=56940
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://aka.ms/vs/16/releas | |e/vs_community.exe
--- Comment #1 from Louis Lenders xerox.xerox2000x@gmail.com --- added dl link
https://bugs.winehq.org/show_bug.cgi?id=56940
--- Comment #2 from Louis Lenders xerox.xerox2000x@gmail.com --- Hi, i cannot add the author of patch in the CC field, because email-address seems unknown(?). Any one know correct email-address?
https://bugs.winehq.org/show_bug.cgi?id=56940
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #3 from Fabian Maurer dark.shadow4@web.de --- Maybe they don't have a bugzilla account?
Maybe we should ping them on the MR? https://gitlab.winehq.org/wine/wine/-/merge_requests/5692
https://bugs.winehq.org/show_bug.cgi?id=56940
--- Comment #4 from Louis Lenders xerox.xerox2000x@gmail.com --- (In reply to Fabian Maurer from comment #3)
Maybe they don't have a bugzilla account?
Maybe we should ping them on the MR? https://gitlab.winehq.org/wine/wine/-/merge_requests/5692
Thanks, I dropped a note there. Also paste some debug output below, might or might not help to see why it fails ;)
0024:trace:exec:SHELL_execute mask=0x00000540 hwnd=00000000 verb=L"runas" file=L"vs_bootstrapper_d15\vs_setup_bootstrapper.exe " parm=L" --env "_SFX_CAB_EXE_PACKAGE:Z:\home\louis\ramdisk\vs_Community.exe _SFX_CAB_EXE_ORIGINALWORKINGDIR:Z:\home\louis\sda3\wine"" dir=L"C:\users\louis\Temp\3252d0f1a378a23b87c1ac\" show=0x00000005 class=not used 0024:fixme:exec:SHELL_execute flags ignored: 0x00000100 0024:trace:exec:ShellExecute_FromContextMenu L"vs_bootstrapper_d15\vs_setup_bootstrapper.exe " 0024:trace:exec:ShellExecute_GetClassKey ext = L"" 0024:trace:exec:ShellExecute_GetClassKey class = (null) 0024:trace:exec:SHELL_execute execute:L"vs_bootstrapper_d15\vs_setup_bootstrapper.exe ",L" --env "_SFX_CAB_EXE_PACKAGE:Z:\home\louis\ramdisk\vs_Community.exe _SFX_CAB_EXE_ORIGINALWORKINGDIR:Z:\home\louis\sda3\wine"",L"C:\users\louis\Temp\3252d0f1a378a23b87c1ac\" 0024:trace:exec:SHELL_FindExecutable L"vs_bootstrapper_d15\vs_setup_bootstrapper.exe " 0024:trace:exec:SHELL_FindExecutable ASDF L"C:\users\louis\Temp\3252d0f1a378a23b87c1ac\" 0024:trace:shell:PathFileExistsDefExtW (L"C:\users\louis\Temp\3252d0f1a378a23b87c1ac\vs_bootstrapper_d15\vs_setup_bootstrapper.exe ",191) 0024:trace:shell:PathFileExistsDefExtW (L"vs_bootstrapper_d15\vs_setup_bootstrapper.exe ",191) 0024:trace:exec:SHELL_FindExecutable Returning SE_ERR_FNF 0024:trace:shell:PathIsDirectoryW (L"vs_bootstrapper_d15\vs_setup_bootstrapper.exe ") 0024:trace:exec:SHELL_execute retval 2
https://bugs.winehq.org/show_bug.cgi?id=56940
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression CC| |yshuiv7@gmail.com Summary|vs_community.exe halts:"The |vs_community.exe halts:"The |application cannot find one |application cannot find one |of its required files, |of its required files, |possibly because it was |possibly because it was |unable to create it in the |unable to create it in the |folder." (regression) |folder."
--- Comment #5 from Gijs Vermeulen gijsvrm@gmail.com --- Adding 'regression' keyword and CC'ing patch author.
https://bugs.winehq.org/show_bug.cgi?id=56940
--- Comment #6 from Louis Lenders xerox.xerox2000x@gmail.com --- I tried follow code path in current shell32, and maybe the troubles is caused by the trailing space in the filepath: "...vs_setup_bootstrapper.exe "
(PathFileExistsDefExtW (L"vs_bootstrapper_d15\vs_setup_bootstrapper.exe ",191)
If I strip that space manually away with a hack, the installer works again. But that needs some testing first for I guess PathFileExistsDefExtW
https://bugs.winehq.org/show_bug.cgi?id=56940
--- Comment #7 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 76768 --> https://bugs.winehq.org/attachment.cgi?id=76768 test executable
Attached a small test executable
On windows this will start regedit, on wine it does nothing...
After long search, if I'm correct, the problem is in ShellExecuteW. Source for simple test:
#include <windows.h> #include <shellapi.h>
int __cdecl main(int argc, CHAR *arg[]) {
ShellExecuteW( NULL, L"open", L"regedit.exe ", NULL, NULL, SW_SHOWNORMAL );
}
Wine's ShellExecuteW doesn't like the trailing space, but windows seems to happily execute the app.
I'll see if I can fixup a patch
https://bugs.winehq.org/show_bug.cgi?id=56940
--- Comment #8 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 76791 --> https://bugs.winehq.org/attachment.cgi?id=76791 patch
Attached patch (+tests) fixes this bug.
Will send later to wine-gitlab for review.
https://bugs.winehq.org/show_bug.cgi?id=56940
--- Comment #9 from Fabian Maurer dark.shadow4@web.de --- FWIW, it only seems to be normal space characters that are allowed. tab, newline, linefeed, non-breaking space and zero width space don't work.
https://bugs.winehq.org/show_bug.cgi?id=56940
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #76791|0 |1 is obsolete| |
--- Comment #10 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 77425 --> https://bugs.winehq.org/attachment.cgi?id=77425 updated patch
Updated patch, the previous patch was wrong I think as lpFile is a const wchar, which it was trying to modify.
https://bugs.winehq.org/show_bug.cgi?id=56940
--- Comment #11 from yshuiv7@gmail.com --- Hi, thanks for triaging the bug and providing a patch! Can you submit your patch as an MR here: https://gitlab.winehq.org?
https://bugs.winehq.org/show_bug.cgi?id=56940
--- Comment #12 from Hans Leidekker hans@meelstraat.net --- It would be nice to get this regression fixed during code freeze. Louis, are you interested in submitting your patch? If not, let us know and we can take care of it.
https://bugs.winehq.org/show_bug.cgi?id=56940
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |448fcbc0c60d7228ed52f1f5d90 | |f62be0a58289a
--- Comment #13 from Hans Leidekker hans@meelstraat.net --- Fixed with 448fcbc0c60d7228ed52f1f5d90f62be0a58289a.
https://bugs.winehq.org/show_bug.cgi?id=56940
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #14 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 10.0-rc2.