https://bugs.winehq.org/show_bug.cgi?id=57338
Bug ID: 57338 Summary: wine-gecko/wine-mono don't cache their installers if using a username with unicode characters Product: Wine Version: 9.19 Hardware: x86-64 OS: Linux Status: NEW Keywords: download, source Severity: normal Priority: P2 Component: programs Assignee: wine-bugs@winehq.org Reporter: austinenglish@gmail.com Distribution: Debian
Noticed while looking at https://github.com/Winetricks/winetricks/pull/2278
I created a test user (`tëstuser`). If I then run Wine under that user, I get a popup to install wine-mono. The installer downloads and installs wine-mono, great.
Making a second prefix shows the installer prompt again. The installer doesn't get cached in ~/.cache/wine (as it does for my normal, ascii-named user).
If the installer is put in /usr/local/share/wine/mono, it gets picked up from there, as expected.
Which makes me wonder, are unicode characters supported in usernames for wine? I suspect there may be other lurking issues like this, if so.
FWIW, Windows appears to support it (though various software is broken when doing so), see https://cornevandriel.com/articles/unicode-in-windows-usernames
https://bugs.winehq.org/show_bug.cgi?id=57338
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madewokherd@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=57338
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
https://bugs.winehq.org/show_bug.cgi?id=57338
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |julliard@winehq.org
--- Comment #1 from Austin English austinenglish@gmail.com --- Alexandre, could I get your opinion on this, please?
https://bugs.winehq.org/show_bug.cgi?id=57338
--- Comment #2 from Esme Povirk madewokherd@gmail.com --- Saw this error in a log:
0164:warn:appwizcpl:get_cache_file_name L"Z:\home\t\fffdstuser\.cache" does not exist and could not be created (3)
I think we lost the unicode character when doing getenv() here: https://gitlab.winehq.org/wine/wine/-/blob/master/dlls/appwiz.cpl/addons.c?r...
Checking in cmd, both XDG_CACHE_HOME and WINEHOMEDIR preserve the character, and WINEHOMEDIR is set to ??\Z:\home\tëstuser, so clearly this conversion from a unix path to dos path is possible, but I'm not sure how to do it properly.
https://bugs.winehq.org/show_bug.cgi?id=57338
--- Comment #3 from Esme Povirk madewokherd@gmail.com --- I think ntdll is able to do this with $HOME because it does getenv() on the unix side. That doesn't really make sense for appwiz.cpl.
I guess maybe we could use wgetenv and convert using UNIXCP?
https://bugs.winehq.org/show_bug.cgi?id=57338
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- (In reply to Austin English from comment #1)
Alexandre, could I get your opinion on this, please?
It should be supported, but there are most likely some bugs here and there.
https://bugs.winehq.org/show_bug.cgi?id=57338
--- Comment #5 from Esme Povirk madewokherd@gmail.com --- Made an MR: https://gitlab.winehq.org/wine/wine/-/merge_requests/7055