[Bug 46114] Internet Explorer 3 refuses to install (detects IE 4)
wine-bugs at winehq.org
wine-bugs at winehq.org
Thu Nov 8 02:12:45 CST 2018
https://bugs.winehq.org/show_bug.cgi?id=46114
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |INVALID
CC| |focht at gmx.net
Component|-unknown |shell32
Status|UNCONFIRMED |RESOLVED
Keywords| |download
--- Comment #2 from Anastasius Focht <focht at 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
--
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