I went to a yard sale today, and that's always dangerous. Today I ended up buying a copy of Lotus SmartSuite '96. I then installed Wine-20040615.tar.gz and tried installing my new disc with $ wine d:\install.exe It got all confused, started iterating through every file underneath my home directory, and printed out err:shell:SHGetFileInfoW pidl is null! for each one! On a hunch, I made my home directory look empty, $ mkdir .blort $ mv * .blort $ wine d:\install.exe That seemed much better; Wine only printed out the SHGetFileInfoW error once, presumably for the lotustmp.000 directory it created in my home directory.
The next problem was when a dialog box "Select a Program Group..." popped up. At about the same time, an error box with title "Setup Message" and body "Setup has encountered a problem. Please report File='COMMON\SYMTAB11.C',Line='618' to Microsoft Product Support Services." This looks a bit lot like http://support.microsoft.com/default.aspx?scid=kb;EN-US;113252 which happens when GetWindowsDirectory() returns a string with lowercase letters, but clicking OK let me past with no ill affects, and I was able to install.
At least when all I installed was Word Pro. When I also tried installing 1-2-3 and ScreenCam, I got the error "Lotus Setup" : "Install encountered an error trying to start Regedit.exe." That popped up twice, after which install thought for a long time, then warned fixme:ole:CoCreateInstance no classfactory created for CLSID {00021401-0000-0000-c000-000000000046}, hres is 0x80040154 and seemed to get stuck. Still, things seemed to be more or less well installed, so I tried running two of the apps.
$ cd c/lotus/123/programs $ wine 123w.exe worked quite nicely. (Well, it did say the date was 6/17/104, but nobody's perfect!)
Next I tried Word Pro: $ cd ~/.wine/c/lotus/wordpro $ wine wordpro.exe
That failed immediately, so quickly that WINEDEBUG=+all wine wordpro.exe was practical to run. Here's part of its output. It looks as if the very first instruction accesses a null pointer in a strange way.
0009:Starting process L"C:\lotus\wordpro\wordpro.exe" (entryproc=0x7a6aee) 0009:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0 addr=0x7a6aee 0009:trace:seh:EXC_RtlRaiseException info[0]=00000001 0009:trace:seh:EXC_RtlRaiseException info[1]=00000000 0009:trace:seh:EXC_RtlRaiseException eax=00000000 ebx=403f1668 ecx=400c0be8 edx=400c0c37 esi=400c1000 edi=007a6aee 0009:trace:seh:EXC_RtlRaiseException ebp=4070fff4 esp=4070ff30 cs=0023 ds=002b es=002b fs=003b gs=0033 flags=00010246 0009:trace:seh:EXC_CallHandler calling handler at 0x403e1708 code=c0000005 flags=0 0009:Call ntdll.NtQueryVirtualMemory(ffffffff,00000000,00000000,4070fac0,0000001c,4070fa84) ret=4037aeb8 0009:Ret ntdll.NtQueryVirtualMemory() retval=00000000 ret=4037aeb8 0009:Call ntdll.RtlImageDirectoryEntryToData(00000000,00000001,00000002,4070fabc) ret=4033fbbe 0009:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0 addr=0x40091368 0009:trace:seh:EXC_RtlRaiseException info[0]=00000000 0009:trace:seh:EXC_RtlRaiseException info[1]=00000000 0009:trace:seh:EXC_RtlRaiseException eax=00000000 ebx=400beec4 ecx=00000001 edx=00000000 esi=00000000 edi=00000002 0009:trace:seh:EXC_RtlRaiseException ebp=4070f9e4 esp=4070f928 cs=0023 ds=002b es=002b fs=003b gs=0033 flags=00010246 0009:trace:seh:EXC_CallHandler calling handler at 0x40089948 code=c0000005 flags=0 0009:trace:seh:EXC_RtlUnwind code=c0000005 flags=2 0009:trace:seh:EXC_CallHandler calling handler at 0x40088fc0 code=c0000005 flags=2 0009:trace:seh:EXC_CallHandler handler returned 1 0009:Ret ntdll.RtlImageDirectoryEntryToData() retval=00000000 ret=4033fbbe 0009:Call ntdll.NtCreateEvent(4070fac0,001f0003,4070fac4,00000001,00000000) ret=4033f836 0009:Ret ntdll.NtCreateEvent() retval=00000000 ret=4033f836 wine: Unhandled exception (thread 0009), starting debugger... ... Unhandled exception: page fault on write access to 0x00000000 in 32-bit code (0x007a6aee). In 32 bit mode. Register dump: CS:0023 SS:002b DS:002b ES:002b FS:003b GS:0033 EIP:007a6aee ESP:4070ff30 EBP:4070fff4 EFLAGS:00010246( - 00 -RIZP1) EAX:00000000 EBX:403f1668 ECX:400c0be8 EDX:400c0c37 ESI:400c1000 EDI:007a6aee Stack dump: 0x00000000: 00000000 00000000 00000000 00000000 0x00000010: 00000000 00000000 00000000 00000000 0x00000020: 00000000 00000000 00000000 00000000 0x00000030: 00000000 00000000 00000000 00000000 0x00000040: 00000000 00000000 00000000 00000000 0x00000050: 00000000 00000000 00000000 00000000 0x00000060:
Backtrace: =>1 0x007a6aee (0x4070fff4) 2 0x4002e83d (0x00000000) 0x007a6aee: addb %al,0x0(%eax) Modules: 0x40070000-400c2000 Deferred ntdll 0x40320000-403f3000 Deferred kernel32 0x00400000-00888000 --none-- wordpro 0x402f0000-403f3000 Deferred kernel32<elf> 0x40019000-40025000 Deferred libnss_files.so.2 0x401b5000-401d7000 Deferred libm.so.6 0x400c2000-401b5000 Deferred libwine_unicode.so.1 0x40053000-400c2000 Deferred ntdll<elf> 0x40000000-40016000 Deferred ld-linux.so.2 0x4004f000-40052000 Deferred libdl.so.2 0x420155f0-841485f0 Deferred libc.so.6 0x40042000-4004f000 Deferred libpthread.so.0 0x4002a000-40042000 Sym libwine.so.1 0x420155f0-841485f0 Deferred libc.so.6 Module Address Debug info Name (14 modules) PE 0x00400000-00888000 --none-- wordpro ELF 0x40000000-40016000 Deferred ld-linux.so.2 ELF 0x40019000-40025000 Deferred libnss_files.so.2 ELF 0x4002a000-40042000 Sym libwine.so.1 ELF 0x40042000-4004f000 Deferred libpthread.so.0 ELF 0x4004f000-40052000 Deferred libdl.so.2 ELF 0x40053000-400c2000 Deferred ntdll<elf> -PE 0x40070000-400c2000 Deferred ntdll ELF 0x400c2000-401b5000 Deferred libwine_unicode.so.1 ELF 0x401b5000-401d7000 Deferred libm.so.6 ELF 0x402f0000-403f3000 Deferred kernel32<elf> -PE 0x40320000-403f3000 Deferred kernel32 ELF 0x420155f0-841485f0 Deferred libc.so.6 ELF 0x420155f0-841485f0 Deferred libc.so.6 Threads: process tid prio (all id:s are in hex) 0000000b (D) C:\lotus\wordpro\wordpro.exe 00000009 0 <== 00000010 00000011 0 WineDbg terminated on pid 0xb
So I guess I got a couple hours worth of entertainment out of my $5, and I can now run Lotus 1-2-3 if I feel like it. Cool. - Dan