https://bugs.winehq.org/show_bug.cgi?id=43093
Bug ID: 43093 Summary: League of Legends installer hangs Product: Wine Version: 2.9 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: z.figura12@gmail.com Distribution: ---
League of Legends installer (i.e. LeagueofLegends_NA_Installer_2016_05_13.exe) hangs after pressing "Install". A progress bar and the message "Installing prerequisite software" are displayed, however, the window becomes unresponsive.
This seems to be an issue with named pipes, which I am currently investigating.
https://bugs.winehq.org/show_bug.cgi?id=43093
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |0e29f314f5a344f3d5258c88077 | |411837905e3aa Component|-unknown |msi
--- Comment #1 from Zebediah Figura z.figura12@gmail.com --- This appears to be due to commit 0e29f314f5a344f3d5258c88077411837905e3aa. The installer attempts to call the function MsiGetDatabaseState from within a custom action, using the installer handle. This fails on Windows, so it uses GetActiveDatabase to get the real database handle instead. This can be seen from logs—if you create the directory %Application Data%/Caphyon/Advanced Installer/, the program will dump a file AI_ResourceCleaner.log which contains the following lines on Windows (cut for brevity):
| ProductCode: {E80C09B5-A296-47E9-BD4B-BCCF2FDCA13E}. OnAiRemoveFileImmediate start. | MsiTableReader: Getting the active MSI database for this installation session... | Build JOINed tables CustomActionData string... | SELECT Join Query: [SELECT * FROM `RemoveFile`, `AI_RemoveFile` WHERE `RemoveFile`.`FileKey` = `AI_RemoveFile`.`RemoveFile`]. | MsiTableReader::ExecuteQuery [SELECT * FROM `RemoveFile`, `AI_RemoveFile` WHERE `RemoveFile`.`FileKey` = `AI_RemoveFile`.`RemoveFile`]...
but the following lines under WINE:
| ProductCode: {E80C09B5-A296-47E9-BD4B-BCCF2FDCA13E}. OnAiRemoveFileImmediate start. | MsiTableReader: Using the given MSI database handle (opened by the caller)... | Build JOINed tables CustomActionData string... | SELECT Join Query: [SELECT * FROM `RemoveFile`, `AI_RemoveFile` WHERE `RemoveFile`.`FileKey` = `AI_RemoveFile`.`RemoveFile`]. | MsiTableReader::ExecuteQuery [SELECT * FROM `RemoveFile`, `AI_RemoveFile` WHERE `RemoveFile`.`FileKey` = `AI_RemoveFile`.`RemoveFile`]... | Error executing the query ! 6
Reverting 0e29f31, as with the attached patch, seems to allow the program to progress past this hang at least (although others seem to show up later.)
Unfortunately, this may not be a permanent solution. As is given in https://www.winehq.org/pipermail/wine-patches/2007-November/046636.html, applying this patch would seem to break the Microsoft Office 2007 installer. I don't have that installer, however, so I can't test it, or try to find a unified solution.
https://bugs.winehq.org/show_bug.cgi?id=43093
--- Comment #2 from Zebediah Figura z.figura12@gmail.com --- Created attachment 58290 --> https://bugs.winehq.org/attachment.cgi?id=58290 workaround reverting 0e29f314f5a344f3d5258c88077411837905e3aa
https://bugs.winehq.org/show_bug.cgi?id=43093
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #3 from winetest@luukku.com --- (In reply to Zebediah Figura from comment #2)
Created attachment 58290 [details] workaround reverting 0e29f314f5a344f3d5258c88077411837905e3aa
The patch indeed seems to work and the installer goes forward. I think there is some other issue at the end of the installer.
wine 2.9 + the patch.
https://bugs.winehq.org/show_bug.cgi?id=43093
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |STAGED CC| |dmitry@baikal.ru, | |erich.e.hoover@wine-staging | |.com, michael@fds-team.de, | |sebastian@fds-team.de Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/msi-MsiGetData | |baseState
https://bugs.winehq.org/show_bug.cgi?id=43093
--- Comment #4 from Zebediah Figura z.figura12@gmail.com --- After some further testing it seems that this error is not directly related to the hang. Launching the installer but then immediately canceling out of it yields the same frozen "Installing prerequisite software" screen, but the relevant code that the patch fixes is never reached.
Running the program under a debugger on Windows shows that there is in fact a dangling pipe which is never connected. I am not yet sure why this happens.
https://bugs.winehq.org/show_bug.cgi?id=43093
--- Comment #5 from Zebediah Figura z.figura12@gmail.com --- Most of the problems have been due to the lack of an implementation of MSI's "external UI", which is a series of messages that MSI should be sending to a given application callback function. I've been submitting several patches to implement this, with visible results. Currently, with 2.12, it's possible to immediately cancel out of the application, without triggering a hang. It's not yet possible to install the application—it currently gets stuck on "Moving files"—but it's a start.
Currently, the presence or absence of the staged patch—though as far as I can tell it *is* correct, as the tests Sebastian added show—does not actually affect the functionality.
There is a (rather amusing) bug in which pressing cancel does not immediately spawn the cancel dialog, but rather first spawns a dialog prompting the user to choose a file. Closing this and pressing cancel again brings up the cancel dialog as expected. This seems to be caused by the installer incorrectly setting _BrowseProperty. This was introduced by commit 166a7e993cb0033fac7ec2712c346558fb7bd100 which was introduced to fix bug 28219. In all likelihood the property needs to be set only at a specific point.
https://bugs.winehq.org/show_bug.cgi?id=43093
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |DUPLICATE Status|STAGED |RESOLVED
--- Comment #6 from Zebediah Figura z.figura12@gmail.com --- I think it is accurate to say that all of the problems specific to the League of Legends installer have been fixed, and the only thing that stands in the way is bug #34989.
Since the presence or absence of the associated staging patch does not actually affect this bug anymore, and since it is likely that none of the problems specific to this installer were blocking, I have marked this as a duplicate of #34989.
*** This bug has been marked as a duplicate of bug 34989 ***
https://bugs.winehq.org/show_bug.cgi?id=43093
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Austin English austinenglish@gmail.com --- Closing.