https://bugs.winehq.org/show_bug.cgi?id=36470
Bug ID: 36470 Summary: Inspect tool (Microsoft Active Accessibility inspector), part of Windows 7 SDK needs oleacc.dll.WindowFromAccessibleObject Product: Wine Version: 1.7.18 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net
Hello folks,
continuation of bug 36372
Prerequisite: 'winetricks -q dotnet40 corefonts'
Windows 7 SDK (containing the MSAA/UIA tools and examples):
http://www.microsoft.com/en-us/download/details.aspx?id=8279
Windows Automation API 3.0 (provides needed 'UIAutomationCore.dll'):
https://support.microsoft.com/kb/971513
Download for Windows XP:
http://www.microsoft.com/downloads/details.aspx?FamilyId=cd55456d-9703-42a0-...
(you might need 'taskset -c 0 <installer> to work around bug 35041)
'Inspect' tool description: http://msdn.microsoft.com/en-us/library/windows/desktop/dd318521%28v=vs.85%2...
Backtrace:
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Microsoft SDKs/Windows/v7.1/Bin
$ wine ./Inspect.exe ... Unhandled exception: unimplemented function oleacc.dll.WindowFromAccessibleObject called in 32-bit code (0x7b83ac57). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:7b83ac57 ESP:0033db04 EBP:0033db68 EFLAGS:00000287( - -- I S - -P-C) EAX:7b826c7d EBX:7b8bb000 ECX:f69ecfc7 EDX:0033db2c ESI:0033dc48 EDI:00000000 ... Backtrace:
=>0 0x7b83ac57 RaiseException+0x8f(code=<couldn't compute location>, flags=<couldn't compute location>, nbargs=<couldn't compute location>, args=<couldn't compute location>) [/home/focht/projects/wine/wine.repo/src/dlls/kernel32/except.c:84] in kernel32 (0x0033db68)
1 0xf69ecf01 __wine_spec_unimplemented_stub+0x34(module="oleacc.dll", function="WindowFromAccessibleObject") [/home/focht/projects/wine/wine.repo/src/dlls/winecrt0/stub.c:34] in oleacc (0x0033dba0)
2 0xf69e7d1d __wine_stub_WindowFromAccessibleObject+0x28() in oleacc (0x0033dbcc) 3 0x53878d08 in uiautomationcore (+0x48d07) (0x0033dbcc) 4 0x53879396 in uiautomationcore (+0x49395) (0x0033dc1c) ... 19 0x7ebc9282 call_hook_proc+0xb2(proc=0x5384988f, id=0x4, code=0, wparam=0, lparam=0x33f3cc, prev_unicode=0x1, next_unicode=0x1) [/home/focht/projects/wine/wine.repo/src/dlls/user32/hook.c:345] in user32 (0x0033f018) 20 0x7ebc9749 call_hook+0x31f(info=0x33f13c, code=0, wparam=0, lparam=0x33f3cc) [/home/focht/projects/wine/wine.repo/src/dlls/user32/hook.c:427] in user32 (0x0033f098) 21 0x7ebc99e9 HOOK_CallHooks+0x218(id=0x4, code=0, wparam=0, lparam=0x33f3cc, unicode=0x1) [/home/focht/projects/wine/wine.repo/src/dlls/user32/hook.c:493] in user32 (0x0033f388) ... 25 0x7edef2ce manage_desktop+0x7d2(arg="") [/home/focht/projects/wine/wine.repo/src/programs/explorer/desktop.c:915] in explorer (0x0033f898) 26 0x7edf189f parse_command_line+0x177(commandline="/desktop", parameters=0x33f920) [/home/focht/projects/wine/wine.repo/src/programs/explorer/explorer.c:718] in explorer (0x0033f8c8) ...
0x7b83ac57 RaiseException+0x8f [/home/focht/projects/wine/wine.repo/src/dlls/kernel32/except.c:84] in kernel32: subl $4,%esp
84 RtlRaiseException( &record );
Modules: Module Address Debug info Name (59 modules) PE 53830000-538c8000 Export uiautomationcore ELF 7b800000-7ba60000 Dwarf kernel32<elf> -PE 7b810000-7ba60000 \ kernel32 ELF 7bc00000-7bcee000 Dwarf ntdll<elf> -PE 7bc10000-7bcee000 \ ntdll ... ELF 7edd9000-7ee00000 Dwarf explorer<elf> -PE 7ede0000-7ee00000 \ explorer ... Threads: process tid prio (all id:s are in hex) 00000008 Inspect.exe 0000002d 0 0000002c 0 0000002b 0 0000002a 0 00000029 0 00000009 0 ... 00000014 (D) C:\windows\system32\explorer.exe 00000015 0 <== ... --- snip ---
MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/dd373876%28v=vs.85%2...
The 'Inspect' tool automatically injects 'UIAutomationCore.dll' into all or selected processes on the current desktop to perform data retrieval on behalf of a client. In this case it's Wine builtin 'explorer.exe' crashing after injection succeeded.
The dll can also load UIA plugins (providers) into its host process to extract data using different techniques.
$ sha1sum winsdk_web.exe a8717ebb20a69c7efa85232bcb9899b8b07f98cf winsdk_web.exe
$ du -sh winsdk_web.exe 500K winsdk_web.exe
$ wine --version wine-1.7.18-155-gdb42703
Regards
https://bugs.winehq.org/show_bug.cgi?id=36470
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://www.microsoft.com/en | |-us/download/details.aspx?i | |d=8279
https://bugs.winehq.org/show_bug.cgi?id=36470
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |6bd87c6bdbd91fb16fc6db74654 | |4adbfe57aa896 Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
this is fixed by commit http://source.winehq.org/git/wine.git/commitdiff/6bd87c6bdbd91fb16fc6db74654... (and previous commits)
Thanks Piotr
Regards
https://bugs.winehq.org/show_bug.cgi?id=36470
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #2 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.19.
https://bugs.winehq.org/show_bug.cgi?id=36470
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |oleacc
https://bugs.winehq.org/show_bug.cgi?id=36470
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.microsoft.com/en |https://web.archive.org/web |-us/download/details.aspx?i |/20110805064614/http://down |d=8279 |load.microsoft.com/download | |/A/6/A/A6AC035D-DA3F-4F0C-A | |DA4-37C8E5D34E3D/winsdk_web | |.exe
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
adding stable download link via Internet Archive.
https://web.archive.org/web/20110805064614/http://download.microsoft.com/dow...
https://www.virustotal.com/gui/file/9ea8d82a66a33946e8673df92d784971b35b8f65...
$ sha1sum winsdk_web.exe a8717ebb20a69c7efa85232bcb9899b8b07f98cf winsdk_web.exe
$ du -sh winsdk_web.exe 500K winsdk_web.exe
The web-installer is only a bootstrapper and snapshotting it alone via archive.org is not future-safe. Many (web)installers and payloads have vanished from MDC (Microsoft download center) in 2020.
Full offline installer / ISO (32-bit):
https://web.archive.org/web/20120107114630/http://www.microsoft.com/download...
->
https://web.archive.org/web/20140809051201/http://www.microsoft.com/en-us/do...
->
https://web.archive.org/web/20140728031703/http://download.microsoft.com/dow...
$ sha1sum GRMSDK_EN_DVD.iso cde254e83677c34c8fd509d6b733c32002fe3572 GRMSDK_EN_DVD.iso
$ du -sh GRMSDK_EN_DVD.iso 568M GRMSDK_EN_DVD.iso
Having the full offline installer makes it easier to further minimize the required package dependencies without running anything:
--- snip --- $ grep -Hrni Inspect.exe Binary file Setup/WinSDKTools/cab1.cab matches Binary file Setup/WinSDKTools/WinSDKTools_x86.msi matches --- snip ---
Using the installer info from https://bugs.winehq.org/show_bug.cgi?id=29721#c7 one can construct the URLs for the necessary payloads:
* https://web.archive.org/web/20211121142621/https://download.microsoft.com/do...
https://www.virustotal.com/gui/file/8f0db5728846643054b3e79a889216636de0aeda...
$ sha1sum cab1.cab ba359a216d9728c52217b253fb6f8b5cc3be0274 cab1.cab
$ du -sh cab1.cab 11M cab1.cab
* https://web.archive.org/web/20211121142815/https://download.microsoft.com/do...
https://www.virustotal.com/gui/file/2ba3091ef43e0b29cdfbc46695a6c6bd1b842d93...
$ sha1sum WinSDKTools_x86.msi 5934a590abdbe5010b56f531575ba0b1e9598c6d WinSDKTools_x86.msi
$ du -sh WinSDKTools_x86.msi 756K WinSDKTools_x86.msi
Minimal offline install with above packages downloaded prior:
--- snip --- $ wine msiexec -i WinSDKTools_x86.msi --- snip ---
Regards