Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to install Internet Explorer 8 with #1423

Closed
lambertlu opened this issue Nov 15, 2019 · 13 comments · May be fixed by Kreytricks/kreytricks#41
Closed

Fails to install Internet Explorer 8 with #1423

lambertlu opened this issue Nov 15, 2019 · 13 comments · May be fixed by Kreytricks/kreytricks#41

Comments

@lambertlu
Copy link

lambertlu commented Nov 15, 2019

Thanks for the hard work on winetricks.

I try to install IE8 to support another App in Ubuntu 16.04 x64 kernel version: 4.15.0-70 with the latest winehq-devel version 4.19

After installing IE8

export WINEARCH=win32
export WINEPREFIX=/home/lambert/.wine32

./winecfg
 +mono +gecko

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks

lambert@UBUNTU-WINE:~/Downloads$ ./winetricks ie8
Using winetricks 20190912-next - sha256sum: 8e423d9f813f9162bf01e7488fb392cf38a0f36dfdf4f2a940bd270acbc7e880 with wine-4.19 and WINEARCH=win32
Executing w_do_call ie8
Executing load_ie8 
Setting Windows version to winxp
Executing wine regedit C:\windows\Temp\_ie8\set-winver.reg
------------------------------------------------------
Running /usr/bin/wineserver -w. This will hang until all wine processes in prefix=/home/lambert/.wine32 terminate
------------------------------------------------------
Executing w_do_call msls31
Executing load_msls31 
Executing cabextract -q --directory=/home/lambert/.wine32/dosdevices/c:/windows/temp/_msls31 /home/lambert/.cache/winetricks/msls31/InstMsiW.exe
Executing cp -f /home/lambert/.wine32/dosdevices/c:/windows/temp/_msls31/msls31.dll /home/lambert/.wine32/dosdevices/c:/windows/system32
Using native,builtin override for following DLLs: ieproxy itircl itss jscript msctf mshtml shdoclc shdocvw shlwapi urlmon wininet xmllite
Executing wine regedit C:\windows\Temp\_ie8\override-dll.reg
Using native override for following DLLs: iexplore.exe
Executing wine regedit C:\windows\Temp\_ie8\override-dll.reg
Using builtin override for following DLLs: updspapi
Executing wine regedit C:\windows\Temp\_ie8\override-dll.reg
Executing mkdir -p /home/lambert/.cache/winetricks/ie8
Executing cd /home/lambert/.cache/winetricks/ie8
Downloading https://github.com/Winetricks/winetricks/raw/master/files/winetest.cat to /home/lambert/.cache/winetricks/ie8
--2019-11-15 17:16:19--  https://github.com/Winetricks/winetricks/raw/master/files/winetest.cat
Resolving github.com (github.com)... 140.82.113.3
Connecting to github.com (github.com)|140.82.113.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/Winetricks/winetricks/master/files/winetest.cat [following]
--2019-11-15 17:16:20--  https://raw.githubusercontent.com/Winetricks/winetricks/master/files/winetest.cat
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.192.133, 151.101.128.133, 151.101.64.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.192.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 448 [application/octet-stream]
Saving to: ‘winetest.cat’

winetest.cat                                 100%[==============================================================================================>]     448  --.-KB/s    in 0s      

2019-11-15 17:16:20 (44.0 MB/s) - ‘winetest.cat’ saved [448/448]

Executing cd /home/lambert/Downloads
Executing cp -f /home/lambert/.cache/winetricks/ie8/winetest.cat /home/lambert/.wine32/dosdevices/c:/windows/system32/catroot/{f750e6c3-38ee-11d1-85e5-00c04fc295ee}/oem0.cat
Executing cd /home/lambert/.cache/winetricks/ie8
Downloading https://download.microsoft.com/download/C/C/0/CC0BD555-33DD-411E-936B-73AC6F95AE11/IE8-WindowsXP-x86-ENU.exe to /home/lambert/.cache/winetricks/ie8
--2019-11-15 17:16:20--  https://download.microsoft.com/download/C/C/0/CC0BD555-33DD-411E-936B-73AC6F95AE11/IE8-WindowsXP-x86-ENU.exe
Resolving download.microsoft.com (download.microsoft.com)... 104.88.156.140, 2001:4958:304:290::e59, 2001:4958:304:288::e59
Connecting to download.microsoft.com (download.microsoft.com)|104.88.156.140|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16883056 (16M) [application/octet-stream]
Saving to: ‘IE8-WindowsXP-x86-ENU.exe’

IE8-WindowsXP-x86-ENU.exe                    100%[==============================================================================================>]  16.10M  2.52MB/s    in 6.9s    

2019-11-15 17:16:27 (2.33 MB/s) - ‘IE8-WindowsXP-x86-ENU.exe’ saved [16883056/16883056]

Executing cd /home/lambert/Downloads
Executing cd /home/lambert/.cache/winetricks/ie8
0009:fixme:clusapi:GetNodeClusterState ((null),0032EC44) stub!
0009:fixme:advapi:DecryptFileA ("y:\\9979fb19c39cb270e9b2\\", 00000000): stub
002e:fixme:ntdll:EtwRegisterTraceGuidsW (0x6cd15f38, 0x6cd20180, {e2821408-c59d-418f-ad3f-aa4e792aeb79}, 1, 0x31f610, (null), (null), 0x6cd20188): stub
002e:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {e2821408-c59d-418f-ad3f-aa4e792aeb79}
002e:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId=(null)
002e:fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
002e:fixme:wuapi:update_session_put_ClientApplicationID 001B3E40, L"Windows Internet Explorer 8 Setup Utility"
0030:fixme:wuapi:automatic_updates_Pause 
0033:fixme:setupapi:pSetupGetGlobalFlags stub
0033:fixme:wintrust:WinVerifyTrust unimplemented for 4
0033:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId=(null)
0033:err:ole:CoGetClassObject class {acadf079-cbcd-4032-83f2-fa47c4db096f} not registered
0033:err:ole:CoGetClassObject no class object {acadf079-cbcd-4032-83f2-fa47c4db096f} could be created for context 0x1
0033:fixme:ntdll:server_ioctl_file Unsupported ioctl 9c040 (device=9 access=3 func=10 method=0)
0033:fixme:sfc:SRSetRestorePointA 0031B924 0031B7C8
0033:fixme:sfc:SfcConnectToServer 0
0033:fixme:wintrust:CryptCATGetCatAttrInfo FFFFFFFF, L"SPAttr"
0033:fixme:wintrust:CryptCATGetCatAttrInfo 00166118, L"SPAttr"
0033:fixme:wintrust:CryptCATGetCatAttrInfo FFFFFFFF, L"SPLevel"
0033:fixme:wintrust:CryptCATGetCatAttrInfo 00166120, L"SPLevel"
0033:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId=(null)
CreateService SUCCESS.
0033:fixme:setupapi:pSetupGetGlobalFlags stub
0033:fixme:setupapi:pSetupGetGlobalFlags stub
0033:fixme:wintrust:CryptCATGetCatAttrInfo 001D3D40, L"SPAttr"
0033:fixme:wintrust:CryptCATGetCatAttrInfo 001D3D40, L"SPAttr"
0033:fixme:wintrust:CryptCATGetCatAttrInfo 001D3D40, L"SPLevel"
0033:fixme:wintrust:CryptCATGetCatAttrInfo 001D3D40, L"SPLevel"
0033:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId=(null)
0033:fixme:propsys:PSRegisterPropertySchema L"C:\\Program Files\\Internet Explorer\\ie8props.propdesc" stub
0033:fixme:advapi:TreeResetNamedSecurityInfoW (L"C:\\windows\\ie8", 1, 4, (nil), (nil), 0x152298, (nil), 1, (nil), 1, (nil)) stub
0033:fixme:advapi:RegisterEventSourceA ((null),"Internet Explorer 8"): stub
0033:fixme:advapi:RegisterEventSourceW (L"",L"Internet Explorer 8"): stub
0033:fixme:advapi:ReportEventA (0xcafe4242,0x0004,0x0000,0x400e1119,0x346518,0x0002,0x00000000,0x31bc44,(nil)): stub
0033:fixme:advapi:ReportEventW (0xcafe4242,0x0004,0x0000,0x400e1119,0x346518,0x0002,0x00000000,0x16b8d0,(nil)): stub
0033:fixme:advapi:DeregisterEventSource (0xcafe4242) stub
002e:fixme:ntdll:EtwUnregisterTraceGuids deadbeef: stub
Executing cd /home/lambert/.wine32/dosdevices/c:/windows/system32




------------------------------------------------------
Working around wine bug 25648 -- Setting TabProcGrowth=0 to avoid hang
------------------------------------------------------
Executing wine regedit C:\windows\Temp\_ie8\set-tabprocgrowth.reg
Executing cp -f /home/lambert/.wine32/dosdevices/c:/Program Files/Internet Explorer/ieproxy.dll /home/lambert/.wine32/dosdevices/c:/windows/system32
------------------------------------------------------
To start ie8, use the command "wine" 'C:\Program Files\Internet Explorer\iexplore'
------------------------------------------------------
The operation completed successfully
Setting Windows version to default
Executing wine regedit C:\windows\Temp\_ie8\set-winver.reg
------------------------------------------------------
Running /usr/bin/wineserver -w. This will hang until all wine processes in prefix=/home/lambert/.wine32 terminate
------------------------------------------------------

can't start it up after the installation:

lambert@UBUNTU-WINE:~/Downloads$ wine 'C:\Program Files\Internet Explorer\iexplore'
0009:fixme:ntdll:EtwRegisterTraceGuidsW (0x406de6, 0x40b580, {3e1fd72a-c323-4574-9917-5ce9c936f78c}, 1, 0x32fd4c, (null), (null), 0x40b588): stub
0009:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {3e1fd72a-c323-4574-9917-5ce9c936f78c}
0009:fixme:ntdll:EtwRegisterTraceGuidsW (0x406de6, 0x40b5a0, {afff9c82-5be3-4205-9b3e-49e014c09a63}, 1, 0x32fd4c, (null), (null), 0x40b5a8): stub
0009:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {afff9c82-5be3-4205-9b3e-49e014c09a63}
0009:fixme:ntdll:EtwEventRegister ({5c8bb950-959e-4309-8908-67961a1205d5}, 0x406d1f, 0x40b220, 0x40b088) stub.
0009:fixme:process:SetProcessDEPPolicy (1): stub
0009:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0009:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0009:fixme:ntdll:EtwUnregisterTraceGuids deadbeef: stub
0009:fixme:ntdll:EtwUnregisterTraceGuids deadbeef: stub

Please help.

@Kreyren
Copy link
Contributor

Kreyren commented Nov 15, 2019

lambert@UBUNTU-WINE:~/Downloads$ wine 'C:\Program Files\Internet Explorer\iexplore'

try using wine start 'C:\Program Files\Internet Explorer\iexplore' since wine expects unix path by default afaik

other then that i have the same issue

demo@mx1:~/test/drive_c/Program Files/Internet Explorer
$ WINEPREFIX="/home/demo/test" WINEARCH="win32" wine iexplore.exe 
000b:fixme:winediag:start_process Wine Staging 4.19 is a testing version containing experimental patches.
000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
000b:fixme:ntdll:EtwRegisterTraceGuidsA (0x6307379f, 0x630b1cf8, {0cfe0455-93ba-440d-a3fe-553973d0b723}, 1, 0x6ae918, (null), (null), 0x630b1d00): stub
000b:fixme:ntdll:EtwRegisterTraceGuidsA (0x6307379f, 0x630b1d18, {797fabac-7b58-4796-b924-d51178a59ce4}, 1, 0x6ae918, (null), (null), 0x630b1d20): stub
000b:fixme:ntdll:EtwEventRegister ({43d1a55c-76d6-4f7e-995c-64c711e5cafe}, 0x6309ce28, (nil), 0x630b1500) stub.
000b:fixme:ntdll:EtwEventRegister ({9e3b3947-ca5d-4614-91a2-7b624e0e7244}, 0x63073c41, 0x630b3258, 0x630b3180) stub.
000b:fixme:ntdll:EtwEventEnabled (deadbeef, 0x6302b3c0): stub
000b:fixme:ntdll:EtwEventEnabled (deadbeef, 0x63020688): stub
000b:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0009:fixme:ntdll:EtwRegisterTraceGuidsW (0x406de6, 0x40b580, {3e1fd72a-c323-4574-9917-5ce9c936f78c}, 1, 0x32fd3c, (null), (null), 0x40b588): stub
0009:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {3e1fd72a-c323-4574-9917-5ce9c936f78c}
0009:fixme:ntdll:EtwRegisterTraceGuidsW (0x406de6, 0x40b5a0, {afff9c82-5be3-4205-9b3e-49e014c09a63}, 1, 0x32fd3c, (null), (null), 0x40b5a8): stub
0009:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {afff9c82-5be3-4205-9b3e-49e014c09a63}
0009:fixme:ntdll:EtwEventRegister ({5c8bb950-959e-4309-8908-67961a1205d5}, 0x406d1f, 0x40b220, 0x40b088) stub.
0009:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0009:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0009:fixme:ntdll:EtwUnregisterTraceGuids deadbeef: stub
0009:fixme:ntdll:EtwUnregisterTraceGuids deadbeef: stub
$ OS: Debian GNU/Linux bullseye/sid x86_64 
Host: G750JS 1.0 
Kernel: 4.19.0-6-amd64 
Uptime: 3 days, 1 hour, 33 mins 
Packages: 2139 (dpkg) 
Shell: bash 5.0.3 
Resolution: 1920x1080 
DE: Xfce 
WM: Xfwm4 
WM Theme: Arc-Dark 
Theme: Greybird-mx [GTK2], Adwaita [GTK3] 
Icons: Papirus [GTK2], Adwaita [GTK3] 
Terminal: xfce4-terminal 
Terminal Font: Liberation Mono 11 
CPU: Intel i7-4700HQ (8) @ 3.400GHz 
GPU: Intel 4th Gen Core Processor 
GPU: NVIDIA GeForce GTX 870M 
Memory: 18542MiB / 23989MiB 
$ apt list --installed |  curl -F 'f:1=<-' ix.io

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

http://ix.io/21SA

investigating

@Kreyren
Copy link
Contributor

Kreyren commented Nov 16, 2019

Possibly relevant to https://bugs.winehq.org/show_bug.cgi?id=37421

@lambertlu
Copy link
Author

thanks for the quick reply.

I tried same:

lambert@XUBUNTU-WINE:~/Downloads$ wine start 'C:\Program Files\Internet Explorer\iexplore'
lambert@XUBUNTU-WINE:~/Downloads$ 002c:fixme:ntdll:EtwRegisterTraceGuidsW (0x406de6, 0x40b580, {3e1fd72a-c323-4574-9917-5ce9c936f78c}, 1, 0x32fd4c, (null), (null), 0x40b588): stub
002c:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {3e1fd72a-c323-4574-9917-5ce9c936f78c}
002c:fixme:ntdll:EtwRegisterTraceGuidsW (0x406de6, 0x40b5a0, {afff9c82-5be3-4205-9b3e-49e014c09a63}, 1, 0x32fd4c, (null), (null), 0x40b5a8): stub
002c:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {afff9c82-5be3-4205-9b3e-49e014c09a63}
002c:fixme:ntdll:EtwEventRegister ({5c8bb950-959e-4309-8908-67961a1205d5}, 0x406d1f, 0x40b220, 0x40b088) stub.
002c:fixme:process:SetProcessDEPPolicy (1): stub
002c:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
002c:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
002c:fixme:ntdll:EtwUnregisterTraceGuids deadbeef: stub
002c:fixme:ntdll:EtwUnregisterTraceGuids deadbeef: stub

@lambertlu
Copy link
Author

tryed Kreytricks#41

Same error.

@Kreyren
Copy link
Contributor

Kreyren commented Nov 16, 2019

tryed Kreytricks#41

*tried!

That is separate development in winetricks fork, if you are willing to test it i will ping you when i get to some usable result.

Same error.

Testing it atm, error is expected, i'm looking for a trigger for this error

@lambertlu
Copy link
Author

Thanks Kreyren!

I am running winehq-devel for now.
Should I try winehq-stable with other IE version for better luck?

Have a good night.

@Kreyren
Copy link
Contributor

Kreyren commented Nov 16, 2019

Should I try winehq-stable with other IE version for better luck?

I have same issue on wine-stable, but you can try any relevant info is helpful

also I don't do luck when It comes to a code :p it has to work every time

@rmi1974
Copy link

rmi1974 commented Nov 16, 2019

Hello folks,

you need to add explicit override for ieframe.dll to prefer native over builtin.

Since Wine 4.10 builtin ieframe is preferred: https://source.winehq.org/git/wine.git/commitdiff/097733fe0dc31e2fb9a9399fd0f65eb04b78b9a0

Regards

@Kreyren
Copy link
Contributor

Kreyren commented Nov 16, 2019

you need to add explicit override for ieframe.dll to prefer native over builtin.

@rmi1974 Results in:

$ wine ~/test/drive_c/Program\ Files/Internet\ Explorer/iexplore.exe
000b:fixme:winediag:start_process Wine Staging 4.19 is a testing version containing experimental patches.
000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
000b:fixme:ntdll:EtwRegisterTraceGuidsA (0x6307379f, 0x630b1cf8, {0cfe0455-93ba-440d-a3fe-553973d0b723}, 1, 0x6ae918, (null), (null), 0x630b1d00): stub
000b:fixme:ntdll:EtwRegisterTraceGuidsA (0x6307379f, 0x630b1d18, {797fabac-7b58-4796-b924-d51178a59ce4}, 1, 0x6ae918, (null), (null), 0x630b1d20): stub
000b:fixme:ntdll:EtwEventRegister ({43d1a55c-76d6-4f7e-995c-64c711e5cafe}, 0x6309ce28, (nil), 0x630b1500) stub.
000b:fixme:ntdll:EtwEventRegister ({9e3b3947-ca5d-4614-91a2-7b624e0e7244}, 0x63073c41, 0x630b3258, 0x630b3180) stub.
000b:fixme:ntdll:EtwEventEnabled (deadbeef, 0x6302b3c0): stub
000b:fixme:ntdll:EtwEventEnabled (deadbeef, 0x63020688): stub
000b:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0009:fixme:ntdll:EtwRegisterTraceGuidsW (0x406de6, 0x40b580, {3e1fd72a-c323-4574-9917-5ce9c936f78c}, 1, 0x32fd3c, (null), (null), 0x40b588): stub
0009:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {3e1fd72a-c323-4574-9917-5ce9c936f78c}
0009:fixme:ntdll:EtwRegisterTraceGuidsW (0x406de6, 0x40b5a0, {afff9c82-5be3-4205-9b3e-49e014c09a63}, 1, 0x32fd3c, (null), (null), 0x40b5a8): stub
0009:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {afff9c82-5be3-4205-9b3e-49e014c09a63}
0009:fixme:ntdll:EtwEventRegister ({5c8bb950-959e-4309-8908-67961a1205d5}, 0x406d1f, 0x40b220, 0x40b088) stub.
0009:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0009:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0009:fixme:ntdll:EtwUnregisterTraceGuids deadbeef: stub
0009:fixme:ntdll:EtwUnregisterTraceGuids deadbeef: stub

Using:

#----------------------------------------------------------------

w_metadata ie8 dlls \
    title="Internet Explorer 8" \
    publisher="Microsoft" \
    year="2009" \
    media="download" \
    file1="IE8-WindowsXP-x86-ENU.exe" \
    installed_file1="c:/windows/ie8_main.log"

load_ie8()
{
    # Installer itself bails out
    w_package_unsupported_win64

    # Bundled in Windows 7, so refuses to install. Works with XP:
    w_set_winver winxp

    # Unregister Wine IE
    #if [ ! -f "$W_SYSTEM32_DLLS"/plugin.ocx ]; then
    if grep -q -i "wine placeholder" "$W_PROGRAMS_X86_UNIX/Internet Explorer/iexplore.exe"; then
        w_override_dlls builtin iexplore.exe
        w_try "$WINE" iexplore -unregserver
    fi

    w_call msls31

    # Change the override to the native so we are sure we use and register them
    w_override_dlls native,builtin ieproxy itircl itss jscript msctf mshtml shdoclc shdocvw shlwapi urlmon wininet xmllite

    # Since wine-4.0 the native ieframe is preffered (https://github.com/Winetricks/winetricks/issues/1423#issuecomment-554680098)
    if w_wine_version_in 4.10,; then
        w_override_dlls native,builtin ieframe
    fi

    # IE8 installer will check the version number of iexplore.exe which causes IE8 installer to fail on wine-1.9.0+
    w_override_dlls native iexplore.exe

    # Bundled updspapi cannot work on Wine
    w_override_dlls builtin updspapi

    # Remove the fake DLLs from the existing WINEPREFIX
    if [ -f "$W_PROGRAMS_X86_UNIX/Internet Explorer/iexplore.exe" ]; then
        mv "$W_PROGRAMS_X86_UNIX/Internet Explorer/iexplore.exe" "$W_PROGRAMS_X86_UNIX/Internet Explorer/iexplore.exe.bak"
    fi
    for dll in browseui inseng itircl itss jscript msctf mshtml shdoclc shdocvw shlwapi urlmon
    do
        test -f "$W_SYSTEM32_DLLS"/$dll.dll &&
        mv "$W_SYSTEM32_DLLS"/$dll.dll "$W_SYSTEM32_DLLS"/$dll.dll.bak
    done

    # See https://bugs.winehq.org/show_bug.cgi?id=16013
    # Find instructions to create this file in dlls/wintrust/tests/crypt.c
    w_download https://github.com/Winetricks/winetricks/raw/master/files/winetest.cat 5d18ab44fc289100ccf4b51cf614cc2d36f7ca053e557e2ba973811293c97d38

    # Put a dummy catalog file in place
    mkdir -p "$W_SYSTEM32_DLLS"/catroot/\{f750e6c3-38ee-11d1-85e5-00c04fc295ee\}
    w_try cp -f "$W_CACHE"/ie8/winetest.cat "$W_SYSTEM32_DLLS"/catroot/\{f750e6c3-38ee-11d1-85e5-00c04fc295ee\}/oem0.cat

    w_download https://download.microsoft.com/download/C/C/0/CC0BD555-33DD-411E-936B-73AC6F95AE11/IE8-WindowsXP-x86-ENU.exe 5a2c6c82774bfe99b175f50a05b05bcd1fac7e9d0e54db2534049209f50cd6ef
    if [ -n "$W_UNATTENDED_SLASH_QUIET" ]; then
        quiet="$W_UNATTENDED_SLASH_QUIET /forcerestart"
    else
        quiet=""
    fi
    w_try_cd "$W_CACHE/$W_PACKAGE"

    # KLUDGE: if / is writable, having a Z: mapping to it causes ie8 to put temporary directories on Z:\
    # so hide it temporarily.  This is not very robust!
    rm -f "$WINEPREFIX/dosdevices/z:.bak_wt"
    mv "$WINEPREFIX/dosdevices/z:" "$WINEPREFIX/dosdevices/z:.bak_wt"

    # FIXME: There's an option for /updates-noupdates to disable checking for updates, but that
    # forces the install to fail on Wine. Not sure if it's an IE8 or Wine bug...
    # FIXME: can't check status, as it always reports failure on wine?
    "$WINE" IE8-WindowsXP-x86-ENU.exe $quiet
    # END KLUDGE: restore Z:, assuming user didn't kill us
    mv "$WINEPREFIX/dosdevices/z:.bak_wt" "$WINEPREFIX/dosdevices/z:"

    # Work around DLL registration bug until ierunonce/RunOnce/wineboot is fixed
    # FIXME: whittle down this list
    w_try_cd "$W_SYSTEM32_DLLS"
    for i in actxprxy.dll browseui.dll browsewm.dll cdfview.dll ddraw.dll \
        dispex.dll dsound.dll iedkcs32.dll iepeers.dll iesetup.dll \
        imgutil.dll inetcomm.dll isetup.dll jscript.dll laprxy.dll \
        mlang.dll msctf.dll mshtml.dll mshtmled.dll msi.dll msimtf.dll msident.dll \
        msoeacct.dll msrating.dll mstime.dll msxml3.dll occache.dll \
        ole32.dll oleaut32.dll olepro32.dll pngfilt.dll quartz.dll \
        rpcrt4.dll rsabase.dll rsaenh.dll scrobj.dll scrrun.dll \
        shdocvw.dll shell32.dll urlmon.dll vbscript.dll webcheck.dll \
        wshcon.dll wshext.dll asctrls.ocx hhctrl.ocx mscomct2.ocx \
        plugin.ocx proctexe.ocx tdc.ocx uxtheme.dll webcheck.dll wshom.ocx
    do
        "$WINE" regsvr32 /i $i > /dev/null 2>&1
    done

    if w_workaround_wine_bug 25648 "Setting TabProcGrowth=0 to avoid hang"; then
        cat > "$W_TMP"/set-tabprocgrowth.reg <<_EOF_
REGEDIT4

[HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main]
"TabProcGrowth"=dword:00000000

_EOF_
        w_try_regedit "$W_TMP_WIN"\\set-tabprocgrowth.reg
    fi

    # Builtin ieproxy is in system32, but ie8's lives in Program Files. Native
    # CLSID path will get overwritten on prefix update. Setting ieproxy to
    # native doesn't help because setupapi ignores DLL overrides. To work
    # around this problem, copy native ieproxy to system32.
    w_try cp -f "${W_PROGRAMS_X86_UNIX}/Internet Explorer/ieproxy.dll" "$W_SYSTEM32_DLLS"

    # Seeing is believing
    case $WINETRICKS_GUI in
        none)
            w_warn "To start ie8, use the command \"$WINE\" '${W_PROGRAMS_WIN}\\\\Internet Explorer\\\\iexplore'"
            ;;
        *)
            w_warn "Starting ie8.  To start it later, use the command \"$WINE\" '${W_PROGRAMS_WIN}\\\\Internet Explorer\\\\iexplore'"
            "$WINE" "${W_PROGRAMS_WIN}\\Internet Explorer\\iexplore" https://www.microsoft.com/windows/internet-explorer > /dev/null 2>&1 &
            ;;
    esac

    w_set_winver default
}

@Kreyren
Copy link
Contributor

Kreyren commented Nov 17, 2019

Since Wine 4.10 builtin ieframe is preferred: https://source.winehq.org/git/wine.git/commitdiff/097733fe0dc31e2fb9a9399fd0f65eb04b78b9a0

Did i missunderstood or is this typo? You said that builtin is preffered since 4.10+, but referenced a code that prefers native?

@rmi1974
Copy link

rmi1974 commented Nov 17, 2019

Did i missunderstood or is this typo? You said that builtin is preffered since 4.10+, but referenced a code that prefers native?

Huh? The linked commit (diff) removes DLL_WINE_PREATTACH case (return FALSE) hence native is no longer preferred over builtin.

Anyway, you must be doing something wrong.

$ wine --version
wine-4.20

$ rm -rf ~/.wine
$ WINEARCH=win32 winetricks -q ie8

# doesn't work
$ wine 'C:\Program Files\\Internet Explorer\\iexplore'

# works
$ WINEDLLOVERRIDES=ieframe=n wine 'C:\Program Files\\Internet Explorer\\iexplore'

@austin987
Copy link
Contributor

Thanks @rmi1974, fixed by b037744

@lambertlu
Copy link
Author

Thanks @rmi1974 and @austin987, the latest commit works very well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants