http://bugs.winehq.org/show_bug.cgi?id=8062
------- Additional Comments From focht@gmx.net 2007-16-04 05:46 ------- Hello,
a good one :) Wasn't that easy to track down due to gazillions of temporary dlls being loaded/unloaded at same base (deferred breakpoints suck at this).
Backtrace is useless because the stack gets smashed. It's a bug in some custom installshield component itself.
--- snip custom installshield dll disassembly --- .text:10004C03 push offset aWinspool_drv ; "winspool.drv" .text:10004C08 call ds:LoadLibraryA .text:10004C0E cmp eax, esi .text:10004C10 mov [ebp+hLibModule], eax .text:10004C13 jz short loc_10004C5B .text:10004C15 push esi ; dwErrCode .text:10004C16 call ds:SetLastError .text:10004C1C push offset aDeleteprinterd ; "DeletePrinterDriverExA" .text:10004C21 push [ebp+hLibModule] ; hModule .text:10004C24 call ds:GetProcAddress .text:10004C2A push esi .text:10004C2B push 5 .text:10004C2D push [ebp+pDriverName] .text:10004C30 mov ebx, eax .text:10004C32 push esi .text:10004C33 push esi .text:10004C34 call ebx .text:10004C36 add esp, 14h .text:10004C39 mov edi, eax .text:10004C3B push [ebp+hLibModule] ; hLibModule .text:10004C3E call ds:FreeLibrary .text:10004C44 cmp edi, esi .text:10004C46 jnz short loc_10004C67
--- snip custom installshield dll disassembly ---
"DeletePrinterDriverExA" is winapi -> __stdcall. The compiler generated code for __cdecl. After hot-patching all wrong calling conv signatures in memory (few calls), the installer continues and completes successfully. Blame adobe devs on it :)
Regards