http://bugs.winehq.org/show_bug.cgi?id=12406
Summary: document explorer (part of win doc kit) won't run Product: Wine Version: CVS/GIT Platform: PC-x86-64 URL: http://download.microsoft.com/download/3/3/c/33cfef4d- 21da-4229-bc17-3eac7a7eabe1/WDKDocs_02222008.EXE OS/Version: Linux Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: htl10@users.sourceforge.net
follow up to bug 12331 (which was about installation, and is fixed in current git). document explorer dies with a note saying it wants to contact microsoft to send a bug report.
http://bugs.winehq.org/show_bug.cgi?id=12406
--- Comment #1 from Hin-Tak Leung htl10@users.sourceforge.net 2008-04-07 12:14:15 --- Created an attachment (id=11921) --> (http://bugs.winehq.org/attachment.cgi?id=11921) +relay log, gzip'ed
+relay log, gz'ed
WINEDEBUG=+relay WINEPREFIX="${HOME}/.wine" wine "C:\Program Files\Common Files\Microsoft Shared\Help 9\dexplore.e xe" /helpcol ms-help://ms.WDK.v10.6001.080214 /LaunchNamedUrlTopic HomePage >& WDK-doc-launch.relay.log
The precise command line is copied from the auto-generated desktop link.
http://bugs.winehq.org/show_bug.cgi?id=12406
--- Comment #2 from Hin-Tak Leung htl10@users.sourceforge.net 2008-04-07 12:15:39 --- Created an attachment (id=11922) --> (http://bugs.winehq.org/attachment.cgi?id=11922) screenshot when it wants to talk to microsoft to send bug report
screenshot when it crashes and want to talk to microsoft to send bug report.
http://bugs.winehq.org/show_bug.cgi?id=12406
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xerox_xerox2000@yahoo.co.uk
--- Comment #3 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2008-04-07 12:39:58 --- Hi, i tried the app too and looks like this is the problem: 0009:Call KERNEL32.GetProcAddress(7e200000,3b8b8446 "CoInternetSetFeatureEnabled") ret=3b2dd040 0009:Ret KERNEL32.GetProcAddress() retval=00000000 ret=3b2dd040
A simple stub implementation got the app further to the main window, but then it crashed again, probably because of other bug. Hin-Tak: patch below is really crap, but enough to get around the bug. Better you write something properly yourself and send it to wine=patches. Info here: http://msdn2.microsoft.com/en-us/library/ms537168(VS.85).aspx
Regards
http://bugs.winehq.org/show_bug.cgi?id=12406
--- Comment #4 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2008-04-07 12:47:30 --- Created an attachment (id=11923) --> (http://bugs.winehq.org/attachment.cgi?id=11923) crappy patch
INTERNETFEATURELIST needs to be added to some .h file , dunno which one....
http://bugs.winehq.org/show_bug.cgi?id=12406
--- Comment #5 from Hin-Tak Leung htl10@users.sourceforge.net 2008-04-07 13:12:43 --- The patch itself looks okay as a starting point - it will need some TRACE's and FIXME's to get officially accepted though :-).
http://bugs.winehq.org/show_bug.cgi?id=12406
--- Comment #6 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2008-04-13 04:26:13 --- Hi, had some time and made a patch, i'll send it to wine-patches
http://bugs.winehq.org/show_bug.cgi?id=12406
--- Comment #7 from Hin-Tak Leung htl10@users.sourceforge.net 2008-04-13 08:08:17 --- (In reply to comment #4)
Created an attachment (id=11923)
--> (http://bugs.winehq.org/attachment.cgi?id=11923) [details]
crappy patch
INTERNETFEATURELIST needs to be added to some .h file , dunno which one....
I had a look at this - INTERNETFEATURELIST is a enum, not a long pointer; oh, and the stub code itself should go into internet.c (where similiarly named/used functions resides), instead of urlmon_main.c .
Other than these, the patch took the doc explorer further, so I think basically just needs a 'FIXME("Not implemented\n");' to be sent off...
http://bugs.winehq.org/show_bug.cgi?id=12406
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, patch
--- Comment #8 from Austin English austinenglish@gmail.com 2008-10-17 14:43:36 --- Is this still an issue in current (1.1.6 or newer) Wine?
http://bugs.winehq.org/show_bug.cgi?id=12406
--- Comment #9 from Hin-Tak Leung htl10@users.sourceforge.net 2008-10-18 05:21:46 --- yes, still a problem with 1.1.6.
http://bugs.winehq.org/show_bug.cgi?id=12406
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified
--- Comment #10 from Austin English austinenglish@gmail.com 2009-01-19 15:14:55 --- Removing deprecated CVS/GIT version tag. Please retest in current git. If the bug is still present in today's wine, but was not present in some earlier version of wine, please update version field to earliest known version of wine that had the bug. Thanks!
http://bugs.winehq.org/show_bug.cgi?id=12406
Hin-Tak Leung htl10@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |1.1.13
--- Comment #11 from Hin-Tak Leung htl10@users.sourceforge.net 2009-01-19 16:51:47 --- tested with 1.1.13 and problem still persists.
http://bugs.winehq.org/show_bug.cgi?id=12406
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.1.13 |unspecified
--- Comment #12 from Dmitry Timoshkov dmitry@codeweavers.com 2009-01-20 12:14:32 --- The version field should specify the Wine version the bug was reported for.
http://bugs.winehq.org/show_bug.cgi?id=12406
Hin-Tak Leung htl10@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |1.1.13
--- Comment #13 from Hin-Tak Leung htl10@users.sourceforge.net 2009-01-20 12:38:17 --- Hmm, the problem is in 1.1.13, does it matter what version of wine it was reported for originally? I could always close this as wontfix and file a new one against 1.1.13 if that makes some people happy...
http://bugs.winehq.org/show_bug.cgi?id=12406
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.1.13 |unspecified
--- Comment #14 from Dmitry Timoshkov dmitry@codeweavers.com 2009-01-20 20:57:37 --- (In reply to comment #13)
Hmm, the problem is in 1.1.13, does it matter what version of wine it was reported for originally?
Yes it does, otherwise we would keep CVS/GIT tag.
I could always close this as wontfix and file a new one against 1.1.13 if that makes some people happy...
Then the other one will be marked as a duplicate of this one.
http://bugs.winehq.org/show_bug.cgi?id=12406
Hin-Tak Leung htl10@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |0.9.60
--- Comment #15 from Hin-Tak Leung htl10@users.sourceforge.net 2009-01-20 21:33:40 --- (In reply to comment #14)
(In reply to comment #13)
Hmm, the problem is in 1.1.13, does it matter what version of wine it was reported for originally?
Yes it does, otherwise we would keep CVS/GIT tag.
I still don't understand why it cannot be "a version where the bug exists", instead of "a version when the problem was first noticed". This bug is not a regression bug so the latter is really IMHO unimportant.
In any case, as noted in the initial report, this bug was a follow-up on "cannot install", and the "cannot install" bug was committed and fixed for 0.9.60 on 2008-04-18, but I filed this on 2008-04-07, so I must have been using GIT at a time-frame between 0.9.59 and 0.9.60 to install, and then noticed it does not run. If it makes you happy, the version is 0.9.60, but to be really accurate, it was as I filed it, CVS/GIT about 10 days before 0.9.60.
Now, can you explain why does it matter to you between "a version where the bug exists" and "a version where the problem was first noticed"?
http://bugs.winehq.org/show_bug.cgi?id=12406
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #16 from Austin English austinenglish@gmail.com 2010-06-12 01:08:46 --- If you run the exe directly, it works fine. Running it with the full arguments from comment #1, still crashes in 1.2-rc3.
http://bugs.winehq.org/show_bug.cgi?id=12406
Gerold Jens Wucherpfennig gjwucherpfennig@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gjwucherpfennig@gmx.net
http://bugs.winehq.org/show_bug.cgi?id=12406
--- Comment #17 from Gerold Jens Wucherpfennig gjwucherpfennig@gmx.net 2010-11-29 13:46:58 CST --- The Document Explorer 2005 which is included with the Windows SDK for Vista can still not be installed with Wine 1.3.8
The Document Explorer 2008 which is included with the Windows SDK for Windows 7 can also still not be installed with Wine 1.3.8
I need one of those for my Wine Development, because I do not want to use MSDN for reading the Win32 Documentation...
http://bugs.winehq.org/show_bug.cgi?id=12406
--- Comment #18 from Austin English austinenglish@gmail.com 2013-03-11 15:10:55 CDT --- (In reply to comment #16)
If you run the exe directly, it works fine. Running it with the full arguments from comment #1, still crashes in 1.2-rc3.
The same in wine-1.5.25-133-gcb8ce94
https://bugs.winehq.org/show_bug.cgi?id=12406
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|patch | CC| |focht@gmx.net Component|-unknown |ieframe Summary|document explorer (part of |Microsoft Document Explorer |win doc kit) won't run |2008 crashes when using MS | |Help 2 URL from command | |line Severity|enhancement |normal
--- Comment #19 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming, the crash is still present.
The bug was unfortunately recycled after 'CoInternetSetFeatureEnabled' issue.
Prerequisite: 'winetricks -q dotnet20 mfc42'
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Common Files/Microsoft Shared/Help 9
$ WINEDEBUG=+tid,+seh,+relay wine ./dexplore.exe /helpcol ms-help://ms.WDK.v10.6001.080214 /LaunchNamedUrlTopic HomePage >>log.txt 2>&1 ... 002a:Call wininet.InternetCanonicalizeUrlW(009ab38c L"ms-help://MS.WDK.v10.6001.080214/Intro_g",009ab44c,0033e654,20000000) ret=51c22915 ... 002a:Call ole32.CoCreateInstance(0033f62c,0045e76c,00000001,3b210fa8,0033f624) ret=3b39fd48 002a:Call ntdll.RtlInitUnicodeString(0033f310,0033f362 L"CLSID\{8856F961-340A-11D0-A96B-00C04FD705A2}") ret=7e87e764 ... 002a:Call KERNEL32.LoadLibraryExW(0033f14e L"C:\windows\system32\ieframe.dll",00000000,00000008) ret=7e87e8f8 002a:Call PE DLL (proc=0x7cd7fd8c,module=0x7cd50000 L"ieframe.dll",reason=PROCESS_ATTACH,res=(nil)) ... 002a:Call ieframe.DllGetClassObject(0033f4c8,7e97102c,0033f4d8) ret=7e880f05 002a:trace:ieframe:DllGetClassObject (CLSID_WebBrowser {00000001-0000-0000-c000-000000000046} 0x33f4d8) 002a:trace:ieframe:ClassFactory_QueryInterface (0x7cc74670)->(IID_IClassFactory 0x33f4d8) 002a:trace:ieframe:ClassFactory_AddRef (0x7cc74670) 002a:Ret ieframe.DllGetClassObject() retval=00000000 ret=7e880f05 002a:Call advapi32.RegCloseKey(0000015c) ret=7e884a88 002a:Ret advapi32.RegCloseKey() retval=00000000 ret=7e884a88 002a:trace:ieframe:create_webbrowser (0x45e76c {00000000-0000-0000-c000-000000000046} 0x33f624) version=2 ... 002a:trace:ieframe:WebBrowser_QueryInterface (0x107dc98)->(IID_IUnknown 0x33f624) 002a:trace:ieframe:WebBrowser_AddRef (0x107dc98) ref=2 002a:trace:ieframe:WebBrowser_Release (0x107dc98) ref=1 002a:trace:ieframe:ClassFactory_Release (0x7cc74670) 002a:Ret ole32.CoCreateInstance() retval=00000000 ret=3b39fd48 002a:trace:ieframe:WebBrowser_QueryInterface (0x107dc98)->(IID_IUnknown 0x45e794) 002a:trace:ieframe:WebBrowser_AddRef (0x107dc98) ref=2 002a:trace:ieframe:WebBrowser_Release (0x107dc98) ref=1 002a:Call KERNEL32.InterlockedDecrement(0045e8d0) ret=3b27ae4e 002a:Ret KERNEL32.InterlockedDecrement() retval=00000000 ret=3b27ae4e 002a:Call ntdll.RtlFreeHeap(00110000,00000000,0107b3f0) ret=7e8a05e8 002a:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7e8a05e8 002a:Call KERNEL32.InterlockedDecrement(3b8c9868) ret=3b21176a 002a:Ret KERNEL32.InterlockedDecrement() retval=00000011 ret=3b21176a 002a:Call ntdll.RtlDeleteCriticalSection(0045e8d4) ret=3b21e7dd 002a:Ret ntdll.RtlDeleteCriticalSection() retval=00000000 ret=3b21e7dd 002a:Call msvcr90.??3@YAXPAX@Z(0045e8c8) ret=3b27b0df 002a:Call ntdll.RtlFreeHeap(00450000,00000000,0045e8c8) ret=7ec9d1b2 002a:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7ec9d1b2 002a:Ret msvcr90.??3@YAXPAX@Z() retval=00000001 ret=3b27b0df 002a:trace:ieframe:WebBrowser_QueryInterface (0x107dc98)->(IID_IOleObject 0x45e754) 002a:trace:ieframe:WebBrowser_AddRef (0x107dc98) ref=2 002a:trace:ieframe:WebBrowser_Release (0x107dc98) ref=1 002a:trace:ieframe:WebBrowser_Release (0x107dc98) ref=0 ... 002a:Call msvcr90.??_V@YAXPAX@Z(00000000) ret=3b644fb4 002a:Call ntdll.RtlFreeHeap(00450000,00000000,00000000) ret=7ec9d1b2 002a:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7ec9d1b2 002a:Ret msvcr90.??_V@YAXPAX@Z() retval=00000001 ret=3b644fb4 002a:Call oleaut32.VariantClear(0045e7c8) ret=3b642a98 002a:Ret oleaut32.VariantClear() retval=00000000 ret=3b642a98 002a:Call oleaut32.SysFreeString(00000000) ret=3b642aa7 002a:Ret oleaut32.SysFreeString() retval=0033f5e0 ret=3b642aa7 002a:Call oleaut32.SysFreeString(00000000) ret=3b642ab0 002a:Ret oleaut32.SysFreeString() retval=0033f5e0 ret=3b642ab0 002a:Call oleaut32.SysFreeString(00000000) ret=3b642ab9 002a:Ret oleaut32.SysFreeString() retval=0033f5e0 ret=3b642ab9 002a:Call msvcr90.??3@YAXPAX@Z(0045e750) ret=3b6460ed 002a:Call ntdll.RtlFreeHeap(00450000,00000000,0045e750) ret=7ec9d1b2 002a:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7ec9d1b2 002a:Ret msvcr90.??3@YAXPAX@Z() retval=00000001 ret=3b6460ed 002a:trace:seh:raise_exception code=c0000005 flags=0 addr=0x45009b ip=0045009b tid=002a 002a:trace:seh:raise_exception info[0]=00000001 002a:trace:seh:raise_exception info[1]=01454588 002a:trace:seh:raise_exception eax=00450088 ebx=3b211020 ecx=0033f71c edx=00450064 esi=0045e750 edi=00000001 002a:trace:seh:raise_exception ebp=0033f78d esp=0033f6ec cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210206 002a:trace:seh:call_vectored_handlers calling handler at 0x40e138 code=c0000005 flags=0 ... --- snip ---
Hard to tell.
Memory dump of the block in question:
--- snip --- 0045ED70 00000170 ; block size 0045ED74 00455355 ; 'USE' heap magic 0045ED78 3B3BBCA0 ; msenv.3B3BBCA0 (vtable?) 0045ED7C 010A9754 ; OFFSET ieframe.OleObjectVtbl (set by QI) 0045ED80 00000000 0045ED84 3B2ED7C4 ; msenv.3B2ED7C4 (vtable?) 0045ED88 3B2E3A40 ; msenv.3B2E3A40 (vtable?) 0045ED8C 3B2ED86C ; msenv.3B2ED86C (vtable?) 0045ED90 00000000 0045ED94 3B3BBD0C ; msenv.3B3BBD0C (controlling IUnknown to CoCreateInstance) 0045ED98 3B3BBD2C ; msenv.3B3BBD2C (vtable?) 0045ED9C 3B2ED4AC ; msenv.3B2ED4AC (vtable?) 0045EDA0 3B2E2540 ; msenv.3B2E2540 (vtable?) 0045EDA4 3B3BBD40 ; msenv.3B3BBD40 (vtable?) 0045EDA8 3B2E481C ; msenv.3B2E481C (vtable?) 0045EDAC 3B2E9688 ; msenv.3B2E9688 (vtable?) 0045EDB0 3B3BBD54 ; msenv.3B3BBD54 (vtable?) 0045EDB4 3B3BBD68 ; msenv.3B3BBD68 (vtable?) 0045EDB8 00000001 ; refcount ? 0045EDBC 010A9750 ; OFFSET ieframe.WebBrowser2Vtbl (set by QI) 0045EDC0 00000000 --- snip ---
The app decrements what looks like a reference count at 0x0045EDB8. With the reference count gone to zero, the memory block is freed which seems wrong as it tries to access member data later (expecting the block to be still alive).
Likely an aggregation issue which Wine doesn't do correctly here, similar class as bug 29709 (refcount must be somehow incremented by QI).
The crash can be worked around by using 'winetricks -q ie8' and removing all overrides except 'shdocvw'. It's a rather invasive way though, polluting the whole prefix. But even then, the MS Document Explorer is still not fully usable and prone to crashes.
Component to fix would be still ieframe (WebBrowser -> shdocvw (old) vs. ieframe (new)).
$ sha1sum WDKDocs_02222008.EXE e55c58c8d7a822d2e31f8054abfae724c6ea6923 WDKDocs_02222008.EXE
$ du -sh WDKDocs_02222008.EXE 56M WDKDocs_02222008.EXE
$ wine --version wine-1.7.35-42-g9defaa5
Regards
https://bugs.winehq.org/show_bug.cgi?id=12406
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |damjan.jov@gmail.com
--- Comment #20 from Damjan Jovanovic damjan.jov@gmail.com --- I'll have to confirm this later with a clean WINEPREFIX, but it looks like there are 2 bugs here:
1. As per Anastasius's brilliant discovery, ieframe's WebBrowser COM object doesn't support aggregation, it completely ignores the "outer" and succeeds as if no aggregation is taking place. Release() is thus not forwarded to the outer controlling IUnknown, leading to the inner's ref count wrongly being decreased, leading to it being destroyed too early, and when the outer then attempts to use the non-existing inner -> crash. I am working on a patch for that, the latest version of it is at https://source.winehq.org/patches/data/174843 and it fixes that problem.
2. The other problem is that the application calls msxml3's IXMLDOMDocument_load() with paths of the form C:\Program%20Files..., which doesn't work on Wine as it doesn't URL-decode file paths before trying to open them. Patch for that is at https://source.winehq.org/patches/data/175018 but this should be a separate bug.
You still need: winetricks -q dotnet20 mfc42
That + those 2 patches = working application.
With wine-mono in place of dotnet20, it will also crash during startup.
https://bugs.winehq.org/show_bug.cgi?id=12406
--- Comment #21 from Damjan Jovanovic damjan.jov@gmail.com --- (In reply to Damjan Jovanovic from comment #20)
I'll have to confirm this later with a clean WINEPREFIX, but it looks like there are 2 bugs here:
Confirming with a clean WINEPREFIX.
V2 of the patch for (1) is now at https://source.winehq.org/patches/data/175230
I've opened a separate issue for (2) at bug 48242.
https://bugs.winehq.org/show_bug.cgi?id=12406
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch URL|http://download.microsoft.c |https://web.archive.org/web |om/download/3/3/c/33cfef4d- |/20140211184816/http://down |21da-4229-bc17-3eac7a7eabe1 |load.microsoft.com/download |/WDKDocs_02222008.EXE |/3/3/c/33cfef4d-21da-4229-b | |c17-3eac7a7eabe1/WDKDocs_02 | |222008.EXE Summary|Microsoft Document Explorer |Microsoft Document Explorer |2008 crashes when using MS |2008 crashes when using MS |Help 2 URL from command |Help 2 URL from command |line |line (ieframe's WebBrowser | |COM object doesn't support | |aggregation)
--- Comment #22 from Anastasius Focht focht@gmx.net --- Hello folks,
refining summary to have better search results.
The original download link is gone, replacing with stable one from Internet Archive/Wayback machine:
https://web.archive.org/web/20140211184816/http://download.microsoft.com/dow...
@Damjan thanks for picking this up/working on this.
Regards
https://bugs.winehq.org/show_bug.cgi?id=12406
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |a14281c08969927adcdd52de8a1 | |9605448baa5bf Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #23 from Anastasius Focht focht@gmx.net --- Hello folks,
this is fixed by commit https://source.winehq.org/git/wine.git/commitdiff/a14281c08969927adcdd52de8a... ("ieframe: Implement COM aggregation in WebBrowser.")
Thanks Damjan
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files (x86)/Common Files/Microsoft Shared/Help 9
$ wine ./dexplore.exe /helpcol ms-help://MS.WDK.v10.6001.080214 /LaunchNamedUrlTopic HomePage
... --- snip ---
$ wine --version wine-4.21-294-g626162f7db
Regards
https://bugs.winehq.org/show_bug.cgi?id=12406
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #24 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.0-rc1.
https://bugs.winehq.org/show_bug.cgi?id=12406
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |4.0.x
https://bugs.winehq.org/show_bug.cgi?id=12406
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|4.0.x |---
--- Comment #25 from Michael Stefaniuc mstefani@winehq.org --- Removing the 4.0.x milestone from bug fixes included in 4.0.4.