http://bugs.winehq.org/show_bug.cgi?id=19277
Summary: Internet Explorer 2.0 (Win95) fails to install Product: Wine Version: 1.0.1 Platform: PC URL: http://www.oldversion.com/download/msie20.exe OS/Version: Linux Status: NEW Keywords: download, Installer, win16 Severity: minor Priority: P3 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: kennybobs@o2.co.uk
Internet Explorer 2.0 for Windows 95 fails to install with an INST32.DLL error: "ThunkConnect32 Failure!!"
This is followed by a second dialog stating: "A required DLL or function entry point in a required DLL is missing."
The entire console output is: err:thunk:_loadthunk (INST16.DLL, instthk_ThunkData16, INST32.DLL): Unable to load 'INST16.DLL', error 2
Wine has to be set to Win95 mode to install.
Workaround is manual extraction.
Same in latest git.
http://bugs.winehq.org/show_bug.cgi?id=19277
--- Comment #1 from Ken Sharp kennybobs@o2.co.uk 2010-11-21 03:54:08 CST --- Still present in Wine 1.3.6 although the console output is different.
winevdm: can't exec 'C:\windows\RUNDLL.EXE': error=0
http://bugs.winehq.org/show_bug.cgi?id=19277
--- Comment #2 from Ken Sharp kennybobs@o2.co.uk 2010-11-21 03:55:56 CST --- Sorry, ignore previous comment, error is the same in Wine 1.3.6.
http://bugs.winehq.org/show_bug.cgi?id=19277
--- Comment #3 from Ken Sharp kennybobs@o2.co.uk 2011-10-18 10:43:33 CDT --- Still present in wine-1.3.30-205-g472a8f7
http://bugs.winehq.org/show_bug.cgi?id=19277
--- Comment #4 from Ken Sharp kennybobs@o2.co.uk 2012-06-13 16:13:06 CDT --- Still present in wine-1.5.6-75-g034de95
trace:thunk:ThunkConnect32 LS01 thunk INST32.DLL (0x353000) -> INST16.DLL (instthk_ThunkData16), Reason: 1 err:thunk:_loadthunk (INST16.DLL, instthk_ThunkData16, INST32.DLL): Unable to load 'INST16.DLL', error 2 trace:thunk:ThunkConnect32 LS01 thunk INST32.DLL (0x353000) -> INST16.DLL (instthk_ThunkData16), Reason: 0
http://bugs.winehq.org/show_bug.cgi?id=19277
Fabian Ebner f.ebner94@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |f.ebner94@gmail.com
--- Comment #5 from Fabian Ebner f.ebner94@gmail.com 2013-05-17 16:30:47 CDT --- Still present in 1.5.30
The problem is that INST16.DLL is missing in wine. Output with (WINEDEBUG=+module): ---snip--- trace:module:load_builtin_dll Trying built-in L"inst16.dll16" warn:module:load_builtin_dll cannot open .so lib for builtin L"inst16.dll16": /usr/local/bin/../lib/wine/inst16.dll16.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden warn:module:load_dll Failed to load module L"inst16.dll16"; status=c0000135 trace:module:MODULE_LoadModule16 Trying native dll 'INST16.DLL' err:thunk:_loadthunk (INST16.DLL, instthk_ThunkData16, INST32.DLL): Unable to load 'INST16.DLL', error 2 ---snip---
http://bugs.winehq.org/show_bug.cgi?id=19277
--- Comment #6 from Ken Sharp kennybobs@o2.co.uk 2013-07-11 09:31:10 CDT --- (In reply to comment #5)
Still present in 1.5.30
The problem is that INST16.DLL is missing in wine.
No it isn't. inst16.dll is provided by the installer.
No change in wine-1.6-rc4-99-g94c7806
http://bugs.winehq.org/show_bug.cgi?id=19277
hanska2@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hanska2@luukku.com
--- Comment #7 from hanska2@luukku.com --- Is this bug even valid?
Who on earth would install ie 2.0 on some pc?
https://bugs.winehq.org/show_bug.cgi?id=19277
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |11465
https://bugs.winehq.org/show_bug.cgi?id=19277
Teras teras@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |teras@luukku.com
--- Comment #8 from Teras teras@luukku.com --- the same
1.7.37
https://bugs.winehq.org/show_bug.cgi?id=19277
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #9 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
The bootstrapper unpacks everything in temp directory and starts the real installer 'infinst.exe' from that location.
--- snip --- ... 003d:Call KERNEL32.CreateFileA(00154f08 "C:\users\focht\Temp\inst32.dll",40000000,00000000,00000000,00000002,00000080,ffffffff) ret=00401325 ... 003d:Ret KERNEL32.CreateFileA() retval=0000009c ret=00401325 ... 003d:Call KERNEL32.CreateFileA(00154f08 "C:\users\focht\Temp\inst16.dll",40000000,00000000,00000000,00000002,00000080,ffffffff) ret=00401325 ... 003d:Ret KERNEL32.CreateFileA() retval=0000009c ret=00401325 ... 003d:Call KERNEL32.SetFileAttributesA(00154f08 "C:\users\focht\Temp\inst32.dll",00000020) ret=0040185d 003d:Ret KERNEL32.SetFileAttributesA() retval=00000001 ret=0040185d ... 003f:Starting process L"C:\users\focht\Temp\infinst.exe" (entryproc=0x40263d) ... 003f:Call KERNEL32.LoadLibraryA(0040a1c0 "INST32.DLL") ret=004010ef 003f:Call PE DLL (proc=0x3510ef,module=0x350000 L"INST32.DLL",reason=PROCESS_ATTACH,res=(nil)) 003f:Call krnl386.exe16.ThunkConnect32(00353000,00351011 "instthk_ThunkData16",00353070 "INST16.DLL",00353064 "INST32.DLL",00350000,00000001) ret=00351106 ... 003f:Call KERNEL32.LoadLibraryA(0033f31c "inst16.dll16") ret=7ea1d932 003f:Ret KERNEL32.LoadLibraryA() retval=00000000 ret=7ea1d932 003f:Call KERNEL32.GetFullPathNameA(00353070 "INST16.DLL",00000080,0033f24a,00000000) ret=7e9e1d5c 003f:Ret KERNEL32.GetFullPathNameA() retval=00000022 ret=7e9e1d5c 003f:Call KERNEL32.GetWindowsDirectoryA(0033ef0a,000000fd) ret=7e9e2c9d 003f:Ret KERNEL32.GetWindowsDirectoryA() retval=0000000a ret=7e9e2c9d 003f:Call KERNEL32.GetWindowsDirectoryA(00000000,00000000) ret=7e9e17c8 003f:Ret KERNEL32.GetWindowsDirectoryA() retval=0000000b ret=7e9e17c8 003f:Call KERNEL32.GetEnvironmentVariableA(7ea42d33 "PATH",00000000,00000000) ret=7e9e17fb 003f:Ret KERNEL32.GetEnvironmentVariableA() retval=00000038 ret=7e9e17fb 003f:Call ntdll.RtlAllocateHeap(00110000,00000000,0000005b) ret=7e9e182c 003f:Ret ntdll.RtlAllocateHeap() retval=00149658 ret=7e9e182c 003f:Call KERNEL32.GetWindowsDirectoryA(0033ef0a,000000fd) ret=7e9e2c9d 003f:Ret KERNEL32.GetWindowsDirectoryA() retval=0000000a ret=7e9e2c9d 003f:Call KERNEL32.GetWindowsDirectoryA(0014966c,00000047) ret=7e9e18b7 003f:Ret KERNEL32.GetWindowsDirectoryA() retval=0000000a ret=7e9e18b7 003f:Call KERNEL32.GetEnvironmentVariableA(7ea42d33 "PATH",00149677,0000003c) ret=7e9e1938 003f:Ret KERNEL32.GetEnvironmentVariableA() retval=00000037 ret=7e9e1938 003f:Call KERNEL32.SearchPathA(00149658 ".;C:\windows\SYSTEM;C:\windows;C:\windows\system32;C:\windows;C:\windows\system32\wbem",00353070 "INST16.DLL",00000000,00000080,0033f24a,00000000) ret=7e9e1e85 003f:Ret KERNEL32.SearchPathA() retval=00000000 ret=7e9e1e85 003f:Call ntdll.RtlFreeHeap(00110000,00000000,00149658) ret=7e9e1eb1 003f:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7e9e1eb1 003f:err:thunk:_loadthunk (INST16.DLL, instthk_ThunkData16, INST32.DLL): Unable to load 'INST16.DLL', error 2 003f:Ret krnl386.exe16.ThunkConnect32() retval=00000000 ret=00351106 003f:Call user32.MessageBoxA(00000000,00353088 "ThunkConnect32 Failure!!",0035307c "INST32.DLL",00000000) ret=00351123 ... 003f:Ret user32.MessageBoxA() retval=00000001 ret=00351123 003f:Ret PE DLL (proc=0x3510ef,module=0x350000 L"INST32.DLL",reason=PROCESS_ATTACH,res=(nil)) retval=0 003f:Call PE DLL (proc=0x3510ef,module=0x350000 L"INST32.DLL",reason=PROCESS_DETACH,res=(nil)) 003f:Call krnl386.exe16.ThunkConnect32(00353000,00351011 "instthk_ThunkData16",00353070 "INST16.DLL",00353064 "INST32.DLL",00350000,00000000) ret=00351106 003f:Ret krnl386.exe16.ThunkConnect32() retval=00000001 ret=00351106 003f:Ret PE DLL (proc=0x3510ef,module=0x350000 L"INST32.DLL",reason=PROCESS_DETACH,res=(nil)) retval=1 003f:Ret KERNEL32.LoadLibraryA() retval=00000000 ret=004010ef ... --- snip ---
The directory from which the application loaded must be taken into account for dll search path (NOTE: executable load path != current working directory here).
As already mentioned in OP's report you can work around by unpacking the first stage. This allows the loader to pick up the thunk dll from current working directory.
--- snip --- $ cabextract msie20.exe Extracting cabinet: msie20.exe extracting license.txt extracting ohrome.inf extracting inst32.dll extracting inst16.dll extracting infinst.exe extracting iexplore.cab
All done, no errors. --- snip ---
Internet Exploder 2 gets installed here:
--- snip --- $ pwd /home/focht/.wine/drive_c/windows/system32/unknown
$ ls -o total 1468 drwxrwxr-x. 1 focht 4314 Feb 21 15:19 cache -rw-rw-r--. 1 focht 289 Feb 21 15:19 cookies.txt drwxrwxr-x. 1 focht 178 Feb 21 15:19 history -rwxrwxr-x. 1 focht 755712 Nov 22 1995 IEXPLORE.EXE -rwxrwxr-x. 1 focht 13824 Nov 22 1995 INETWIZ.EXE -rwxrwxr-x. 1 focht 33280 Nov 22 1995 INFINST.EXE -rw-rw-r--. 1 focht 2416 Nov 22 1995 INST16.DLL -rw-rw-r--. 1 focht 5632 Nov 22 1995 INST32.DLL -rw-rw-r--. 1 focht 5378 Nov 22 1995 INTERNET.TXT -rw-rw-r--. 1 focht 305784 Nov 22 1995 MSN105.CAB -rw-rw-r--. 1 focht 129008 Nov 22 1995 RA.DLL -rwxrwxr-x. 1 focht 8528 Nov 22 1995 RAPLAYER.EXE -rwxrwxr-x. 1 focht 192304 Nov 22 1995 RATASK.EXE -rw-rw-r--. 1 focht 23552 Nov 22 1995 SECBASIC.DLL --- snip ---
('unknown' path element is another bug):
IE 2.0 works surprisingly well - beware of websites with heavy client-side javascript though.
$ sha1sum msie20.exe d558932c8d34472c5d20134ca9448f79f4ecfc9b msie20.exe
$ du -sh msie20.exe 1.2M msie20.exe
$ wine --version wine-1.7.37
Regards
https://bugs.winehq.org/show_bug.cgi?id=19277
--- Comment #10 from Ken Sharp imwellcushtymelike@gmail.com --- No change in Wine 3.0-rc3 or Staging 2.21.
https://bugs.winehq.org/show_bug.cgi?id=19277
--- Comment #11 from Ken Sharp imwellcushtymelike@gmail.com --- (In reply to Fabian Ebner from comment #5)
The problem is that INST16.DLL is missing in wine.
No change in Wine 4.18.
https://bugs.winehq.org/show_bug.cgi?id=19277
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #12 from joaopa jeremielapuree@yahoo.fr --- Bug still occurs with wine-7.0-rc5.
https://bugs.winehq.org/show_bug.cgi?id=19277
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.oldversion.com/d |https://web.archive.org/web |ownload/msie20.exe |/20051223023718/http://down | |load.oldversion.com/msie20. | |exe
--- Comment #13 from Anastasius Focht focht@gmx.net --- Hello folks,
adding stable download link via Internet Archive.
https://web.archive.org/web/20051223023718/http://download.oldversion.com/ms...
https://www.virustotal.com/gui/file/b470bc326059754dbd52c473b64bca496e7c8cac...
$ sha1sum msie20.exe d558932c8d34472c5d20134ca9448f79f4ecfc9b msie20.exe
$ du -sh msie20.exe 1.2M msie20.exe
Regards