https://bugs.winehq.org/show_bug.cgi?id=20387
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |ftp://ftp.redanvil.net/2000 | |%20resource%20cd/apps/cryst | |al/ CC| |focht@gmx.net Summary|Crystal Report 6 abort |Seagate Crystal Reports 6 |install |installer crashes due to | |incorrect ordinal numbering | |of 'odbccp32.dll' exports
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello folks,
found a 'backup', confirming.
--- snip --- $ pwd /home/focht/Downloads/cr6/disk1
$ WINEDEBUG=+tid,+seh,+relay,+odbc wine ./setup.exe >>log.txt 2>&1 ... 0024:Call KERNEL32.CreateProcessA(00000000,00412138 "crwstp32.exe /d Z:\home\focht\Downloads\cr6\disk1\ ",00000000,00000000,00000000,00000020,00000000,00000000,0033fb20,0033fb64) ret=00401976 ... 0026:Call KERNEL32.__wine_kernel_init() ret=7bc5a316 0024:Ret KERNEL32.CreateProcessA() retval=00000001 ret=00401976 0024:Call KERNEL32.WaitForSingleObject(0000004c,ffffffff) ret=0040146a 0026:Call PE DLL (proc=0x7e3cab58,module=0x7e3c0000 L"odbccp32.dll",reason=WINE_PREATTACH,res=(nil)) 0026:Ret PE DLL (proc=0x7e3cab58,module=0x7e3c0000 L"odbccp32.dll",reason=WINE_PREATTACH,res=(nil)) retval=1 ... 0026:Call odbccp32.SQLConfigDataSourceW(00603dc0,00000104,0033f900 L"\0104\7b8b\08003\3dc0`\fa303\dbb9@",00000000) ret=0041ac59 0026:fixme:odbc:SQLConfigDataSourceW 0x603dc0 260 L"\0104\7b8b\08003\3dc0`\fa303\dbb9@" (null) 0026:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7e3c7fb8 ip=7e3c7fb8 tid=0026 0026:trace:seh:raise_exception info[0]=00000000 0026:trace:seh:raise_exception info[1]=00000000 0026:trace:seh:raise_exception eax=00000000 ebx=7e3ce000 ecx=00000000 edx=7bcecb88 esi=0033f8a0 edi=f77903b5 0026:trace:seh:raise_exception ebp=0033f888 esp=0033f820 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210206 0026:trace:seh:call_stack_handlers calling handler at 0x430fe4 code=c0000005 flags=0 0026:Call KERNEL32.UnhandledExceptionFilter(0033f300) ret=00430a4c --- snip ---
Not obvious but Wine got the ordinals of 'odbccp32.dll' exports wrong. The helper app imports all ODBC API by ordinal.
Dump of import descriptor for 'crwstp32.exe' with LordPE:
--- snip --- ... 8. ImageImportDescriptor: OriginalFirstThunk: 0x00047648 TimeDateStamp: 0x00000000 (GMT: Thu Jan 01 00:00:00 1970) ForwarderChain: 0x00000000 Name: 0x0004863A ("odbccp32.dll") FirstThunk: 0x00047B7C
Ordinal/Hint API name ------------ --------------------------------------- 0x0008 0x0006 0x0009 0x0003 ... --- snip ---
Source: http://source.winehq.org/git/wine.git/blob/75c5484174462a521856b01c17abb18e2...
How it should be (at least for the imports this app uses, other ordinals might be wrong too):
--- snip --- 0x0008 -> stdcall SQLWriteDSNToIni(str str) 0x0006 -> stdcall SQLConfigDataSource(ptr long str str) 0x0009 -> stdcall SQLRemoveDSNFromIni(str) 0x0003 -> stdcall SQLInstallDriverManager(ptr long ptr) --- snip ---
A more complete dump can be found here: http://www.silverlings.com/dlls/html/odbccp32.dll.html
$ wine --version wine-1.7.13
Regards