https://bugs.winehq.org/show_bug.cgi?id=46114
Bug ID: 46114 Summary: Internet Explorer 3 refuses to install (detects IE 4) Product: Wine Version: 3.19 Hardware: x86-64 URL: http://www.oldversion.com/windows/internet-explorer-3- 02-win95 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: jhansonxi@gmail.com Distribution: Ubuntu
Note: Let's skip the drama about "why" I need IE3 - I don't. It's just an odd problem I encountered while trying to test an old bug that may be related to another bug I encountered while looking for a test case for yet another bug.
MD5: ef64ec92f811409ca81f1845fab773eb msie302w95.exe
The installer starts without problems but once it begins installing it aborts with the message:
"Internet Explorer 3.0 cannot be installed on a system that has Internet Explorer 4.0 installed"
The installer contents can be extracted with:
msie302w95.exe /C /T:"c:\ie3"
The source of the message is infinst2.exe (occurs immediately when launched) but I can't determine what it's being triggered by. I've tried overrides, deleting most of the files in WINEPREFIX, and deleting most of the keys in the registry. At this point I can't tell if it's a bug or not. I can't see anything in the debug output that indicates what file or registry keys it's looking at. Reading through the install scripts doesn't yield any obvious clues.
https://bugs.winehq.org/show_bug.cgi?id=46114
--- Comment #1 from Jeff D. Hanson jhansonxi@gmail.com --- Created attachment 62749 --> https://bugs.winehq.org/attachment.cgi?id=62749 Debug +reg,+regedit,+msgbox,+file from infinst2.exe
https://bugs.winehq.org/show_bug.cgi?id=46114
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID CC| |focht@gmx.net Component|-unknown |shell32 Status|UNCONFIRMED |RESOLVED Keywords| |download
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming. The installer targets Win9x-based systems and the check is simply broken/non-applicable on modern Windows NT based OS.
--- snip --- ... 0056:Starting process L"C:\users\focht\Temp\IXP000.TMP\infinst2.exe" (entryproc=0x405e3e) ... 0056:Call KERNEL32.LoadLibraryA(0040b904 "SHELL32.DLL") ret=00402893 ... 0056:Ret KERNEL32.LoadLibraryA() retval=7da90000 ret=00402893 0056:Call KERNEL32.GetProcAddress(7da90000,0040b910 "DllGetVersion") ret=004028a5 0056:Ret KERNEL32.GetProcAddress() retval=7da9ae10 ret=004028a5 0056:Call KERNEL32.FreeLibrary(7da90000) ret=004028b9 ... 0056:Ret KERNEL32.FreeLibrary() retval=00000001 ret=004028b9 0056:Call user32.LoadStringA(00000000,00000092,0040d158,00000800) ret=00403b09 0056:Ret user32.LoadStringA() retval=0000005e ret=00403b09 0056:Call KERNEL32.lstrcatA(0040d158 "Internet Explorer 3.0 cannot be installed on a system that has Internet Explorer 4.0 installed",0040cf48 "") ret=00403b1d 0056:Ret KERNEL32.lstrcatA() retval=0040d158 ret=00403b1d 0056:Call user32.MessageBoxA(00000000,0040d158 "Internet Explorer 3.0 cannot be installed on a system that has Internet Explorer 4.0 installed",0040d050 "",00000000) ret=00403b31 --- snip ---
The brain damage:
--- snip --- 00402887 PUSH ESI 00402888 PUSH OFFSET 0040B904 ; FileName = "SHELL32.DLL" 0040288D CALL DWORD PTR DS:[<&KERNEL32.LoadLibraryA>] 00402893 MOV ESI,EAX 00402895 TEST ESI,ESI 00402897 JZ SHORT 004028B9 00402899 PUSH OFFSET 0040B910 ; Procname = "DllGetVersion" 0040289E PUSH ESI ; hModule 0040289F CALL DWORD PTR DS:[<&KERNEL32.GetProcAddress>] 004028A5 PUSH ESI ; hModule 004028A6 CMP EAX,1 004028A9 SBB EAX,EAX 004028AB ADD EAX,2 004028AE MOV DWORD PTR DS:[40B6C8],EAX 004028B3 CALL DWORD PTR DS:[<&KERNEL32.FreeLibrary>] 004028B9 MOV EAX,DWORD PTR DS:[40B6C8] 004028BE POP ESI 004028BF RETN --- snip ---
Again, this can't work on native Windows NT based systems.
You can work around in Wine by setting an app specific dll override for the sub-installer to prevent loading of 'shell32.dll' at all. It will then successfully install the old IE 3.x crap. It needs to be app specific override to ensure that Wine builtin/main app processes can still load 'shell32.dll' (otherwise they would break earlier).
--- snip --- [HKEY_CURRENT_USER\Software\Wine\AppDefaults\infinst2.exe\DllOverrides] "shell32"="" --- snip ---
$ sha1sum msie302w95.exe a55c3834860347342c0b91e0f572124b440eb195 msie302w95.exe
$ du -sh msie302w95.exe 11M msie302w95.exe
$ wine --version wine-3.19-194-gd3c9d7558b
Regards
https://bugs.winehq.org/show_bug.cgi?id=46114
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Internet Explorer 3 refuses |Internet Explorer 3 |to install (detects IE 4) |installer for Win9x OS | |refuses to install on | |Windows NT (2K, XP+) based | |systems (detects IE 4, | |broken by design)
https://bugs.winehq.org/show_bug.cgi?id=46114
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #3 from Gijs Vermeulen gijsvrm@gmail.com --- Closing.
https://bugs.winehq.org/show_bug.cgi?id=46114
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.oldversion.com/w |https://web.archive.org/web |indows/internet-explorer-3- |/20150727185518/http://www. |02-win95 |mirrorservice.org/sites/bro | |wsers.evolt.org/browsers/ie | |/win32/3.02/win95full/msie3 | |02m95.exe
https://bugs.winehq.org/show_bug.cgi?id=46114
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer