http://bugs.winehq.org/show_bug.cgi?id=20326
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED CC| |focht@gmx.net Resolution| |DUPLICATE Severity|trivial |minor
--- Comment #17 from Anastasius Focht focht@gmx.net 2013-05-03 15:33:42 CDT --- Hello folks,
fortunately there is still a "backup" available from some "online archive" so I looked into the installer...
The first thing has already been mentioned: Microsoft Data Access Components (MDAC)
You need 'winetricks -q mdac28' in clean WINEPREFIX.
The installer spawns the following process as part of post-installation:
--- snip --- ... 0028:trace:process:create_process_impl starting L"E:\setup\rsrc\cod4.exe" as Win32 binary (0x400000-0xa12000) 0047:trace:loaddll:load_builtin_dll Loaded L"KERNEL32.dll" at 0x7b810000: builtin 0047:trace:process:init_current_directory starting in L"E:\setup\rsrc\" (nil) 0047:trace:process:__wine_kernel_init starting process name=L"E:\setup\rsrc\cod4.exe" argv[0]=L"E:\setup\rsrc\cod4.exe" 0047:trace:loaddll:load_native_dll Loaded L"E:\setup\rsrc\cod4.exe" at 0x400000: native 0028:trace:process:create_process_impl started process pid 0046 tid 0047 ... 0047:err:ole:CoGetClassObject class {00000507-0000-0010-8000-00aa006d2ea4} not registered 0047:err:ole:create_server class {00000507-0000-0010-8000-00aa006d2ea4} not registered 0047:err:ole:CoGetClassObject no class object {00000507-0000-0010-8000-00aa006d2ea4} could be created for context 0x5 0047:trace:seh:raise_exception code=eedfade flags=1 addr=0x7b83aad3 ip=7b83aad3 tid=0047 0047:trace:seh:raise_exception info[0]=0057de3f 0047:trace:seh:raise_exception info[1]=00b40d2c 0047:trace:seh:raise_exception info[2]=006eb394 0047:trace:seh:raise_exception info[3]=0033f8f4 0047:trace:seh:raise_exception info[4]=00000000 0047:trace:seh:raise_exception info[5]=0033f8c8 0047:trace:seh:raise_exception info[6]=0033f8bc 0047:trace:seh:raise_exception eax=7b826891 ebx=7b8b96b0 ecx=0033f8bc edx=0033f850 esi=0033f8f4 edi=00000000 --- snip ---
GUID "{00000507-0000-0010-8000-00aa006d2ea4}" followed by Delphi external exception code "0xeedfade" is something not to be ignored -> MDAC.
Anyway ... the next crashes are related to madCodeHook Delphi library -> bug 15437 Louis was right on track.
The executable is wrapped with UPX and there are typical madCodeHook Delphi library sequences present after unpacking.
Additional proof via trace log:
--- snip --- ... 0024:Call KERNEL32.CreateFileW(0018f640 L"C:\windows\system32\KERNEL32.dll",80000000,00000001,00000000,00000003,00000000,00000000) ret=0315fa8a 0024:Ret KERNEL32.CreateFileW() retval=000000e8 ret=0315fa8a ... 0024:Call KERNEL32.CreateFileMappingW(000000e8,00000000,00000002,00000000,00000000,00000000) ret=0315fae6 0024:Ret KERNEL32.CreateFileMappingW() retval=000000ec ret=0315fae6 0024:Call KERNEL32.MapViewOfFile(000000ec,00000004,00000000,00000000,00000000) ret=0315fb0e 0024:Ret KERNEL32.MapViewOfFile() retval=03280000 ret=0315fb0e 0024:Call KERNEL32.CloseHandle(000000ec) ret=0315fb16 0024:Ret KERNEL32.CloseHandle() retval=00000001 ret=0315fb16 0024:Call KERNEL32.CloseHandle(000000e8) ret=0315fb1c 0024:Ret KERNEL32.CloseHandle() retval=00000001 ret=0315fb1c ... 0024:trace:seh:raise_exception code=c0000005 flags=0 addr=0x315fc5a ip=0315fc5a tid=0024 0024:trace:seh:raise_exception info[0]=00000000 0024:trace:seh:raise_exception info[1]=03329994 0024:trace:seh:raise_exception eax=03329978 ebx=7b810000 ecx=00000001 edx=000a9978 esi=7b810040 edi=03280000 0024:trace:seh:raise_exception ebp=03329978 esp=0032f490 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010206 0024:trace:seh:call_stack_handlers calling handler at 0x316b605 code=c0000005 flags=0 0024:trace:seh:call_stack_handlers handler at 0x316b605 returned 1 0024:trace:seh:call_stack_handlers calling handler at 0x3143db8 code=c0000005 flags=0 0024:Call KERNEL32.UnhandledExceptionFilter(0032ef70) ret=03143ddc ... --- snip ---
Removing Wine's "kernel32.dll" placeholder:
--- snip --- 0024:Call KERNEL32.CreateFileW(0018f640 L"C:\windows\system32\KERNEL32.dll",80000000,00000001,00000000,00000003,00000000,00000000) ret=0315fa8a 0024:Ret KERNEL32.CreateFileW() retval=ffffffff ret=0315fa8a ... 0024:Call KERNEL32.OpenFileMappingW(000f001f,00000000,03180d98 L"Global\NamedBuffer, mix, Process $00000023, API $7b810000") ret=031657c1 0024:Ret KERNEL32.OpenFileMappingW() retval=00000000 ret=031657c1 0024:Call KERNEL32.OpenFileMappingW(000f001f,00000000,03180e5c L"NamedBuffer, mix, Process $00000023, API $7b810000") ret=031657ea 0024:Ret KERNEL32.OpenFileMappingW() retval=00000000 ret=031657ea ... 0024:Call KERNEL32.OpenFileMappingW(00000004,00000000,03180d98 L"Global\NamedBuffer, mAH, Process $00000023, API $7b810000") ret=031657c1 0024:Ret KERNEL32.OpenFileMappingW() retval=00000000 ret=031657c1 0024:Call KERNEL32.OpenFileMappingW(00000004,00000000,03180e5c L"NamedBuffer, mAH, Process $00000023, API $7b810000") ret=031657ea 0024:Ret KERNEL32.OpenFileMappingW() retval=00000000 ret=031657ea ... 0024:Call KERNEL32.CreateFileW(0018f640 L"C:\windows\system32\user32.dll",80000000,00000001,00000000,00000003,00000000,00000000) ret=0063cbae 0024:Ret KERNEL32.CreateFileW() retval=000000f4 ret=0063cbae ... 0024:Call KERNEL32.CreateFileMappingW(000000f4,00000000,00000002,00000000,00000000,00000000) ret=0063cc0a 0024:Ret KERNEL32.CreateFileMappingW() retval=000000f8 ret=0063cc0a 0024:Call KERNEL32.MapViewOfFile(000000f8,00000004,00000000,00000000,00000000) ret=0063cc32 0024:Ret KERNEL32.MapViewOfFile() retval=03280000 ret=0063cc32 0024:Call KERNEL32.CloseHandle(000000f8) ret=0063cc3a 0024:Ret KERNEL32.CloseHandle() retval=00000001 ret=0063cc3a 0024:Call KERNEL32.CloseHandle(000000f4) ret=0063cc40 0024:Ret KERNEL32.CloseHandle() retval=00000001 ret=0063cc40 ... 0024:trace:seh:raise_exception code=c0000005 flags=0 addr=0x63cd7e ip=0063cd7e tid=0024 0024:trace:seh:raise_exception info[0]=00000000 0024:trace:seh:raise_exception info[1]=033709f4 0024:trace:seh:raise_exception eax=033709d8 ebx=7eab0000 ecx=00000001 edx=000f09d8 esi=7eab0040 edi=03280000 0024:trace:seh:raise_exception ebp=033709d8 esp=0032f8c4 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210206 0024:trace:seh:call_stack_handlers calling handler at 0x648729 code=c0000005 flags=0 --- snip ---
Again - even if this has already been said multiple times in this bug (it seems people still messed this up):
1) clean (new) 32-bit WINEPREFIX 2) 'bash winetricks -q mdac28' 3) rm -f $WINEPREFIX/drive_c/windows/system32/kernel32.dll 4) rm -f $WINEPREFIX/drive_c/windows/system32/user32.dll
$WINEPREFIX -> ~/.wine if default is used, otherwise make sure you delete it from the right one where the game is installed!
If you are installing in 64-bit WINEPREFIX make sure you remove the _right_ placeholders! 32-bit kernel/user placefolder dlls live in "syswow64", "system32" is for 64-bit.
With that steps I got successfully into main menu right after installation. There is nothing to fix here and it's really a dupe of bug 15437
Regards
*** This bug has been marked as a duplicate of bug 15437 ***