https://bugs.winehq.org/show_bug.cgi?id=51687
Bug ID: 51687 Summary: GetMappedFileNameA/W implementation breaks RiotClient updates. Product: Wine Version: 6.15 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: matias.nicolas.zc@gmail.com Distribution: ---
Created attachment 70554 --> https://bugs.winehq.org/attachment.cgi?id=70554 trace log
Since wine (vanilla or staging) 6.2, the Riot Client Launcher fails when updating itself. This worked fine with wine 6.1 (vanilla and staging)
This wasn't much of a problem since LoL players used a lutris versions based on wine 5.x. Starting with the last League Of Legends Client update, the CEF upgrade requires a patched wine 6.15, so users will begin getting this error on the next Launcher update.
The launcher throws the following error when starting the update process: ``` Update failed: Failed getting path to current executable: File path could not be found in a mapped drive: ??\c:\Riot Games\Riot Client\RiotClientServices.exe ```
I bisected the problem to commit bd0a3c1a59db9e75500db6df0f3598c981abf44e. For some reason the launcher worked with the stub implementation of GetMappedFileNameA/W, but not with a "real" one. I can confirm that reverting the commit on 6.15 makes the update work.
Attached is a trace log of the execution (from wine staging 6.15, with the most frequent calls removed). The interesting part should start in line 546, when the debug message says that it will start the update, and end in line 1705, when the update process ends. In line 1361 there is a call to GetMappedFileNameW, which should be where the error begins.