https://bugs.winehq.org/show_bug.cgi?id=35364
Bug ID: 35364 Summary: PaintRibbon 1.x (.NET 3.5 SP1 app) complains on startup with "Cannot create ActiveX component." (WinMGMTS_ParseDisplayName is a stub) Product: Wine Version: 1.7.10 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: wmi&wbemprox Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Classification: Unclassified
Hello folks,
as the summary says ...
Prerequisite: 'winetricks -q dotnet35sp1 corefonts'
Work around bug 34764: 'winetricks -q windowscodecs'
Work around bug 15670:
--- snip --- $ wine reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-0-0-0-1000" --- snip ---
Relevant part of trace log:
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Paintribbon
$ WINEDEBUG=+tid,+seh,+relay,+ole,+variant wine ./PaintRibbon.exe >>log.txt 2>&1 ... 002b:trace:ole:CreateClassMoniker ({172bddf8-ceea-11d1-8b05-00600806d9b6},0x33cc44) 002b:Call ntdll.RtlAllocateHeap(00110000,00000000,00000020) ret=7e5d6b13 002b:Ret ntdll.RtlAllocateHeap() retval=05e62c48 ret=7e5d6b13 002b:trace:ole:ClassMoniker_Construct (0x5e62c48,{172bddf8-ceea-11d1-8b05-00600806d9b6}) 002b:trace:ole:ClassMoniker_QueryInterface (0x5e62c48,0x7e6cfdac,0x33cc44) 002b:trace:ole:ClassMoniker_AddRef (0x5e62c48) 002b:trace:ole:ClassMoniker_BindToObject (0x5e62998,(nil),0x7e6d033c,0x33cc40) 002b:trace:ole:BindCtxImpl_GetBindOptions (0x5e62998,0x33cb7c) 002b:trace:ole:CoGetClassObject CLSID: {172bddf8-ceea-11d1-8b05-00600806d9b6},IID: {0000011a-0000-0000-c000-000000000046} ... 002b:trace:ole:COMPOBJ_DllList_Add L"C:\windows\system32\wbem\wbemdisp.dll" 002b:Call KERNEL32.LoadLibraryExW(0033c80e L"C:\windows\system32\wbem\wbemdisp.dll",00000000,00000008) ret=7e5e0673 ... 002b:trace:ole:create_local_service Attempting to start Local service for {172bddf8-ceea-11d1-8b05-00600806d9b6} ... 002b:err:ole:create_server class {172bddf8-ceea-11d1-8b05-00600806d9b6} not registered 002b:fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported 002b:err:ole:CoGetClassObject no class object {172bddf8-ceea-11d1-8b05-00600806d9b6} could be created for context 0x15 002b:trace:ole:ClassMoniker_BindToObject (0x5e62998,(nil),0x7e6cfc8c,0x33cc3c) 002b:trace:ole:BindCtxImpl_GetBindOptions (0x5e62998,0x33cb7c) 002b:trace:ole:CoGetClassObject CLSID: {172bddf8-ceea-11d1-8b05-00600806d9b6},IID: {00000001-0000-0000-c000-000000000046} ... 002b:trace:ole:apartment_getclassobject found L"C:\windows\system32\wbem\wbemdisp.dll" already loaded 002b:trace:ole:apartment_getclassobject calling DllGetClassObject 0x7d80d79c 002b:Call wbemdisp.DllGetClassObject(05e62c54,7e6cfc8c,0033cc3c) ret=7e5e2c80 002b:Ret wbemdisp.DllGetClassObject() retval=00000000 ret=7e5e2c80 ... 002b:fixme:wbemdisp:WinMGMTS_ParseDisplayName (0x5e62998 L"WinMgmts:" 0x33cd00 0x33cd04) 002b:Ret ole32.MkParseDisplayName() retval=80004001 ret=047612c0 ... 002b:Call KERNEL32.RaiseException(e0434f4d,00000001,00000001,0033c9f8) ret=79eda91c 002b:trace:seh:raise_exception code=e0434f4d flags=1 addr=0x7b83a913 ip=7b83a913 tid=002b 002b:trace:seh:raise_exception info[0]=80004001 002b:trace:seh:raise_exception eax=7b826989 ebx=7b8ba000 ecx=80004001 edx=0033c938 esi=0033c9d8 edi=0033c9a0 002b:trace:seh:raise_exception ebp=0033c978 esp=0033c914 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00000287 002b:trace:seh:call_stack_handlers calling handler at 0x79f908a2 code=e0434f4d flags=1 002b:trace:seh:call_stack_handlers handler at 0x79f908a2 returned 1 002b:trace:seh:call_stack_handlers calling handler at 0x79edc3bc code=e0434f4d flags=1 ... 002b:Call user32.MessageBoxW(00010072,00ffb518 L"Cannot create ActiveX component.",00ead49c L"Error",00000030) ret=047659df --- snip ---
With the help of a managed debugger:
--- snip --- ... 0033cb94 7b83a913 [GCFrame: 0033cb94] 0033cbdc 7b83a913 [GCFrame: 0033cbdc] 0033cf90 7b83a913 [NDirectMethodFrameSlim: 0033cf90] System.Runtime.InteropServices.Marshal.MkParseDisplayName(System.Runtime.InteropServices.ComTypes.IBindCtx, System.String, UInt32 ByRef, System.Runtime.InteropServices.ComTypes.IMoniker ByRef) 0033cfa8 061a7440 System.Runtime.InteropServices.Marshal.BindToMoniker(System.String) 0033cfc4 061a72ba Microsoft.VisualBasic.Interaction.GetObject(System.String, System.String) 0033cff0 061a6867 PaintRibbon.MainWindow.GetHardware() 0033d048 0602758f PaintRibbon.MainWindow.Initialize() 0033d1fc 05ceb52e PaintRibbon.MainWindow.frmMain_Loaded(System.Object, System.Windows.RoutedEventArgs) 0033d214 0588ecad System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs) 0033d22c 0571c704 System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean) 0033d2f0 0571a5f9 System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs) 0033d334 0571a484 System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs) 0033d340 05fdd7d1 System.Windows.BroadcastEventHelper.BroadcastEvent(System.Windows.DependencyObject, System.Windows.RoutedEvent) 0033d388 05fdd509 System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(System.Object) 0033d3a8 05fdd466 MS.Internal.LoadedOrUnloadedOperation.DoWork() 0033d3ac 04d837d0 System.Windows.Media.MediaContext.FireLoadedPendingCallbacks() 0033d3bc 04d836f5 System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks() 0033d3d8 04d82eaa System.Windows.Media.MediaContext.RenderMessageHandlerCore(System.Object) 0033d428 04d82df8 System.Windows.Media.MediaContext.RenderMessageHandler(System.Object) 0033d450 04d82d64 System.Windows.Media.MediaContext.Resize(System.Windows.Media.ICompositionTarget) 0033d460 04d82ca1 System.Windows.Interop.HwndTarget.OnResize() ... --- snip ---
After dismissing the error message box the full user interface shows up so it seems the error is not really that critical.
MSDN: http://technet.microsoft.com/en-us/library/ee198932.aspx (WMI monikers -> "WinMgmts:" prefix)
Source: http://source.winehq.org/git/wine.git/blob/fb9e8bc94e84ce278d7467e21bc33d401...
--- snip --- 67 static HRESULT WINAPI WinMGMTS_ParseDisplayName(IParseDisplayName *iface, IBindCtx *pbc, LPOLESTR pszDisplayName, 68 ULONG *pchEaten, IMoniker **ppmkOut) 69 { 70 FIXME("(%p %s %p %p)\n", pbc, debugstr_w(pszDisplayName), pchEaten, ppmkOut); 71 return E_NOTIMPL; 72 } --- snip ---
$ sha1sum paintribbonsetup.exe d74c6a5ddca61c0f62019db14657993cb552daf2 paintribbonsetup.exe
$ du -sh paintribbonsetup.exe 1.7M paintribbonsetup.exe
$ wine --version wine-1.7.10-343-g770d09d
Regards