http://bugs.winehq.org/show_bug.cgi?id=25354
Summary: King's Quest Collection Series (1997): setup.exe crashes Product: Wine Version: 1.3.7 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: tristan_schmelcher@alumni.uwaterloo.ca
When attempting to install the game King's Quest Collection Series (the 1997 edition), setup.exe crashes partway through the installation. It happens every time and always at the same place.
After debugging, I have determined that the problem is caused by incorrect stack cleanup code in the 16-bit DDEML DLL. A number of functions in the .spec file specify HSZ argument values as occupying one word on the stack, but in fact they are a double word. As a result the stack cleanup code does not increment the stack pointer by enough, so upon return the calling code's stack pointer is not restored to the correct value.
I have attached a patch that changes the type of all HSZ arguments in the spec to "long", which fixes the bug. (I will submit it to wine-patches too.)