[Bug 19277] Internet Explorer 2.0 (Win95) fails to install

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Feb 21 08:48:44 CST 2015


https://bugs.winehq.org/show_bug.cgi?id=19277

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net

--- Comment #9 from Anastasius Focht <focht at 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

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list