http://bugs.winehq.org/show_bug.cgi?id=14550
Summary: MS Ink demo program fails Product: Wine Version: 1.1.1 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: bcw1000@yahoo.com
Created an attachment (id=14898) --> (http://bugs.winehq.org/attachment.cgi?id=14898) shell script to set up the environment & run the program
Microsoft provides sample applications for use with their Tablet SDK.
I am running a sample that allows basic ink writing and recognition under Wine-1.1.1.
For it to work, InkObj.DLL and Wisptis.exe binaries are required. I install them via the Microsoft Windows Journal Viewer. InkObj requires unimplemented functions of GdiPlus, so I install it using winetricks.
Also some text recognizer must be installed. I own Tablet XP (1 license) so I copy a recognizer dll and another required file from my XP partition to ~/.wine and register them.
Now when I launch "BasicRecognition.exe", it fails in it's initialization sequence (judging by the source code) and gives me some output.
The Installation script and output log are attached.
Seems to be some OLE (or RPC) problems as several are mentioned in the output.
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #1 from bcw1000@yahoo.com 2008-07-18 07:09:47 --- Created an attachment (id=14899) --> (http://bugs.winehq.org/attachment.cgi?id=14899) log of session with debugging information
This is the result from running the attached script with the debugging line un-commented.
http://bugs.winehq.org/show_bug.cgi?id=14550
bcw1000@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #14899|text/plain |application/x-tar-gz mime type| |
http://bugs.winehq.org/show_bug.cgi?id=14550
Saulius K. saulius2@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |saulius2@gmail.com
--- Comment #2 from Saulius K. saulius2@gmail.com 2008-08-15 07:14:55 --- Has something changed after one month? I suggest you to attach main source file of the demo project also.
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #3 from Saulius K. saulius2@gmail.com 2008-08-15 09:21:44 --- Created an attachment (id=15429) --> (http://bugs.winehq.org/attachment.cgi?id=15429) interesting excerpts from a full debug log
My try to analyse the situation follows. Test app (BasicRecognition.exe) initializes COM libraries and Explorer.exe gets launched. Then test app tries to create instance of an InkRecognizerContext class. This way INKOBJ.DLL (native) gets loaded. And for some reason new threads of Explorer.exe starts creating plus entering new apartments (8000cafe) and then last of them waits for some rpc completion. The same follows for InkCollector class and then for InkRectangle class.
After this Explorer.exe tries to instantiate TabletManager class. As the class isn't registered as in-proc server, separate process gets launched from the thread of Explorer:
0019:trace:ole:create_server activating local server L"C:\windows\system32\wisptis.exe -Embedding" for {a5b020fd-e04b-4e67-b65a-e7deed25b2cf}
After the server is launched, the same Explorer thread starts doing CoWaitForMultipleHandles synchronization for a longer time (~9993 times). During it four lines are repeated:
0019:trace:ole:CoWaitForMultipleHandles (0x00000000, 0x000003e8, 0, (nil), 0x7e5612d8) 0019:trace:ole:CoWaitForMultipleHandles waiting for rpc completion 0019:err:ole:CoWaitForMultipleHandles Unexpected wait termination: -1, 87 0019:trace:ole:CoWaitForMultipleHandles -- 0x8000ffff
Every time since now the function fails with E_UNEXPECTED. But rarely some debug info from the main server thread pops in, eg:
001f:fixme:process:SetProcessShutdownParameters (00000002, 00000000): partial stub. 001f:fixme:winstation:OpenInputDesktop (0,0,2000000): stub 001f:trace:ole:CoInitializeEx ((nil), 0) 001f:trace:ole:CoInitializeEx () - Initializing the COM libraries 001f:trace:ole:RunningObjectTableImpl_Initialize 001f:trace:ole:apartment_construct creating new apartment, model=0 001f:trace:ole:apartment_construct Created apartment on OXID 1e0000cafe 001f:fixme:ole:CoInitializeSecurity (0x12da70,-1,(nil),(nil),4,3,(nil),0,(nil)) - stub! 001f:fixme:atl:AtlModuleRegisterWndClassInfoW 0x1027098 0x1027980 0x12db50 semi-stub 001f:trace:ole:CoRegisterClassObject ({a5b020fd-e04b-4e67-b65a-e7deed25b2cf},0x12db10,0x00000004,0x00000001,0x102cf74) 001f:trace:ole:CoMarshalInterface (0x12dff8, {00000001-0000-0000-c000-000000000046}, 0x12db10, 0, (nil), MSHLFLAGS_TABLESTRONG) 001f:trace:ole:CoGetStandardMarshal ({00000001-0000-0000-c000-000000000046},0x12db10,0,(nil),1,0x33fcac) 001f:trace:ole:CoMarshalInterface Using standard marshaling 001f:trace:ole:CoMarshalInterface Calling IMarshal::MarshalInterace 001f:trace:ole:StdMarshalImpl_MarshalInterface (...,{00000001-0000-0000-c000-000000000046},...) 001f:trace:rpc:RpcServerUseProtseqEpW (L"ncalrpc",10,L"\pipe\OLE_0000001e0000cafe",(nil)) 001f:trace:rpc:RpcServerUseProtseqEpExW (L"ncalrpc",10,L"\pipe\OLE_0000001e0000cafe",(nil),{12,0,0}) 001f:trace:rpc:alloc_serverprotoseq new protseq 0x12e090 created for ncalrpc 001f:trace:rpc:RPCRT4_CreateConnection connection: 0x12e128 001f:trace:rpc:rpcrt4_conn_create_pipe listening on \.\pipe\lrpc\pipe\OLE_0000001e0000cafe 001f:trace:ole:RemUnknown_QueryInterface (0x12e100)->({00000131-0000-0000-c000-000000000046}, 0x33f990) 001f:trace:ole:RemUnknown_AddRef 0x12e100 before: 1 001f:trace:ole:CoGetPSClsid () riid={00000131-0000-0000-c000-000000000046}, pclsid=0x33f998 001f:trace:ole:WINE_StringFromCLSID 0x7edcbe40->{00000131-0000-0000-C000-000000000046} 001f:trace:ole:__CLSIDFromString L"{00000320-0000-0000-C000-000000000046}" -> 0x33f998 001f:trace:ole:CoGetPSClsid () Returning CLSID={00000320-0000-0000-c000-000000000046} 001f:trace:ole:CoGetClassObject CLSID: {00000320-0000-0000-c000-000000000046}, IID: {d5f569d0-593b-101a-b569-08002b2dbf7a} 001f:trace:ole:WINE_StringFromCLSID 0x33f998->{00000320-0000-0000-C000-000000000046} 001f:trace:ole:apartment_getclassobject calling ole32!DllGetClassObject 001f:trace:ole:PSFacBuf_CreateStub ({00000131-0000-0000-c000-000000000046},0x12e100,0x33f994) 001f:trace:ole:RemUnkStub_Connect (0x12e1e0)->Connect(0x12e100) 001f:trace:ole:RemUnknown_AddRef 0x12e100 before: 2 001f:trace:ole:get_stub_manager_from_object not found for object 0x12e100 001f:trace:ole:marshal_object constructing new stub manager 001f:trace:ole:RemUnknown_AddRef 0x12e100 before: 3 001f:trace:ole:new_stub_manager Created new stub manager (oid=1) at 0x12e1f8 for object with IUnknown 0x12e100 001f:trace:ole:stub_manager_new_ifstub oid=1, stubbuffer=0x12e1e0, iptr=0x12e100, iid={00000131-0000-0000-c000-000000000046} 001f:trace:ole:RemUnkStub_AddRef (0x12e1e0)->AddRef() 001f:trace:ole:RemUnknown_AddRef 0x12e100 before: 4 001f:trace:ole:stub_manager_new_ifstub ifstub 0x12e298 created with ipid {ffffffff-ffff-ffff-feca-00001e000000} 001f:trace:ole:RemUnkStub_Release (0x12e1e0)->Release() 001f:trace:ole:RemUnknown_Release 0x12e100 after: 4 001f:trace:ole:stub_manager_ext_addref added 5 refs to 0x12e1f8 (oid 1), rc is now 5 001f:trace:ole:RPC_RegisterInterface ({00000131-0000-0000-c000-000000000046}) 001f:trace:ole:RPC_RegisterInterface Creating new interface 001f:trace:rpc:RpcServerRegisterIfEx (0x12e2fc,(null),(nil),3,1234,(nil)) 001f:trace:rpc:RpcServerRegisterIf2 (0x12e2fc,(null),(nil),3,1234,4294967295,(nil)) 001f:trace:rpc:RpcServerRegisterIf2 interface id: {00000131-0000-0000-c000-000000000046} 0.0 001f:trace:rpc:RpcServerRegisterIf2 transfer syntax: {00000000-0000-0000-0000-000000000000} 0.0 001f:trace:rpc:RpcServerRegisterIf2 dispatch table: 0x7edddb40 001f:trace:rpc:RpcServerRegisterIf2 dispatch table count: 1 001f:trace:rpc:RpcServerRegisterIf2 entry 0: 0x7eda2870 001f:trace:rpc:RpcServerRegisterIf2 reserved: 0 001f:trace:rpc:RpcServerRegisterIf2 protseq endpoint count: 0 001f:trace:rpc:RpcServerRegisterIf2 default manager epv: (nil) 001f:trace:rpc:RpcServerRegisterIf2 interpreter info: (nil) 001f:trace:rpc:RPCRT4_start_listen orMultipleHandles waiting for rpc completion
(note: the last line got corrupted for some reason)
and
0020:trace:ole:DllMain 0x7ed50000 0x2 (nil) 0020:trace:rpc:RPCRT4_server_thread (the_arg == ^0x12e090) 001f:trace:ole:stub_manager_int_release after 1 001f:trace:ole:RemUnknown_Release 0x12e100 after: 3 001f:trace:ole:CoGetPSClsid () riid={00000001-0000-0000-c000-000000000046}, pclsid=0x33fbb8 001f:trace:ole:WINE_StringFromCLSID 0x7edd04a4->{00000001-0000-0000-C000-000000000046} 001f:trace:ole:__CLSIDFromString L"{00000320-0000-0000-C000-000000000046}" -> 0x33fbb8 001f:trace:ole:CoGetPSClsid () Returning CLSID={00000320-0000-0000-c000-000000000046} 001f:trace:ole:CoGetClassObject CLSID: {00000320-0000-0000-c000-000000000046}, IID: {d5f569d0-593b-101a-b569-08002b2dbf7a} 001f:trace:ole:WINE_StringFromCLSID 0x33fbb8->{00000320-0000-0000-C000-000000000046}
and
001f:trace:ole:PSFacBuf_CreateStub ({00000001-0000-0000-c000-000000000046},0x12db10,0x33fbb4) 001f:trace:ole:get_stub_manager_from_object not found for object 0x12db10 001f:trace:ole:marshal_object constructing new stub manager 001f:trace:ole:new_stub_manager Created new stub manager (oid=2) at 0x12e3f0 for object with IUnknown 0x12db10 001f:trace:ole:stub_manager_new_ifstub oid=2, stubbuffer=0x12e3d8, iptr=0x12db10, iid={00000001-0000-0000-c000-000000000046} 001f:trace:rpc:UuidCreate {3cf033a0-54bc-11dd-e181-000b5dcca6e6} 001f:trace:ole:stub_manager_new_ifstub ifstub 0x12e490 created with ipid {00000001-001f-001e-e181-000b5dcca6e6} 001f:trace:ole:stub_manager_ext_addref added 1 refs to 0x12e3f0 (oid 2), rc is now 1 001f:trace:ole:RPC_RegisterInterface ({00000001-0000-0000-c000-000000000046}) 001f:trace:ole:RPC_RegisterInterface Creating new interface 001f:trace:rpc:RpcServerRegisterIfEx (0x12e4f4,(null),(nil),3,1234,(nil)) 001f:trace:rpc:RpcServerRegisterIf2 (0x12e4f4,(null),(nil),3,1234,4294967295,(nil)) 001f:trace:rpc:RpcServerRegisterIf2 interface id: {00000001-0000-0000-c000-000000000046} 0.0 001f:trace:rpc:RpcServerRegisterIf2 transfer syntax: {00000000-0000-0000-0000-000000000000} 0.0 001f:trace:rpc:RpcServerRegisterIf2 dispatch table: 0x7edddb40 001f:trace:rpc:RpcServerRegisterIf2 dispatch table count: 1 001f:trace:rpc:RpcServerRegisterIf2 entry 0: 0x7eda2870 001f:trace:rpc:RpcServerRegisterIf2 reserved: 0 001f:trace:rpc:RpcServerRegisterIf2 protseq endpoint count: 0 001f:trace:rpc:RpcServerRegisterIf2 default manager epv: (nil) 001f:trace:rpc:RpcServerRegisterIf2 interpreter info: (nil) 001f:trace:rpc:RPCRT4_start_listen 001f:trace:ole:stub_manager_int_release after 1 001f:trace:ole:CoMarshalInterface completed with hr 0x00000000
and
0021:trace:ole:DllMain 0x7ed50000 0x2 (nil) 0021:trace:ole:local_server_thread Starting threader for {a5b020fd-e04b-4e67-b65a-e7deed25b2cf}. 0021:trace:ole:WINE_StringFromCLSID 0x12e020->{A5B020FD-E04B-4E67-B65A-E7DEED25B2CF}
and
0022:trace:ole:CoInitializeEx ((nil), 0) 0022:trace:ole:apartment_get_or_create entering the multithreaded apartment 1e0000cafe 0022:trace:ole:apartment_addref 1e0000cafe: before = 1 0022:fixme:winstation:OpenInputDesktop (0,0,2000000): stub
After the last failing call to CoWaitForMultipleHandles the same thread (0019) of Explorer (which was in wait) starts doing some unmarshalling:
0019:trace:ole:RPC_GetLocalClassObject waiting for L"\\.\pipe\{A5B020FD-E04B-4E67-B65A-E7DEED25B2CF}" 0021:trace:ole:local_server_thread marshalling IClassFactory to client 0019:trace:ole:RPC_GetLocalClassObject read marshal id from pipe 0019:trace:ole:RPC_GetLocalClassObject unmarshalling classfactory 0019:trace:ole:CoUnmarshalInterface (0x1336d8, {00000001-0000-0000-c000-000000000046}, 0x7e561474) 0019:trace:ole:get_unmarshaler_from_stream Using standard unmarshaling 0019:trace:ole:StdMarshalImpl_UnmarshalInterface (...,{00000001-0000-0000-c000-000000000046},....) 0019:trace:ole:StdMarshalImpl_UnmarshalInterface Treating unmarshal from OXID 1e0000cafe as inter-process 0019:trace:ole:unmarshal_object stdobjref: flags = 0000 cPublicRefs = 0 oxid = 1e0000cafe oid = 2 ipid = {00000001-001f-001e-e181-000b5dcca6e6}
This is followed by a quite long RPC negotiation and communication, which end up in an error at creating instance of a class factory. IID used here stands for ITabletManagerP interface:
0024:trace:ole:apartment_addref 1e0000cafe: before = 3 0024:trace:ole:CFStub_Invoke ->CreateInstance({663c73a5-8715-4499-b809-43689a93086b}) 0024:fixme:ole:CFStub_Invoke Failed to create an instance of {663c73a5-8715-4499-b809-43689a93086b} 0024:trace:ole:ServerRpcChannelBuffer_GetBuffer (0x12e4d0)->(0x12ea88,{00000001-0000-0000-c000-000000000046}) 0024:trace:rpc:I_RpcGetBuffer (0x12ea88): BufferLength=8 0024:trace:rpc:I_RpcGetBuffer Buffer=0x12e7f0 0024:trace:ole:ServerRpcChannelBuffer_GetBuffer -- 0 0024:trace:ole:apartment_release 1e0000cafe: after = 3 0024:trace:ole:apartment_release 1e0000cafe: after = 2 0024:warn:rpc:process_request_packet exception caught with code 0x80004005 = -2147467259 0024:trace:rpc:process_request_packet freeing Buffer=0x12ecd0 0024:trace:rpc:I_RpcFreeBuffer (0x12ea88) Buffer=0x12e7f0 0025:trace:rpc:RPCRT4_ReceiveWithAuth buffer length = 0 0025:err:rpc:I_RpcReceive we got fault packet with status 0x80004005 0025:trace:ole:rpc_sendreceive_thread completed with status 0x80004005 0026:trace:rpc:RPCRT4_ReceiveWithAuth (0x12eb08, 0x7e0c3a28, 0x12eb98, (nil)) 0026:trace:rpc:RPCRT4_receive_fragment (0x12eb08, 0x7e0c3a28, 0x7e0c39c4) 0027:trace:ole:DllMain 0x7eb40000 0x2 (nil) 0019:trace:ole:ClientRpcChannelBuffer_SendReceive RPC call status: 0x80004005 0019:trace:ole:ClientRpcChannelBuffer_SendReceive hrFault = 0x00000000 0019:trace:ole:ClientRpcChannelBuffer_SendReceive -- 0x80004005 0019:fixme:ole:CFProxy_CreateInstance IRpcChannelBuffer_SendReceive failed with 80004005?
After which the test app fails:
0019:fixme:ole:CoCreateInstance no instance created for interface {663c73a5-8715-4499-b809-43689a93086b} of class {a5b020fd-e04b- 4e67-b65a-e7deed25b2cf}, hres is 0x80004005 0009:trace:ole:CoWaitForMultipleHandles (0x00000000, 0xffffffff, 1, 0x560e28, 0x32f62c) 0009:trace:ole:CoWaitForMultipleHandles waiting for rpc completion or window message 0009:trace:ole:CoWaitForMultipleHandles -- 0x00000000 001a:err:ole:CoWaitForMultipleHandles Unexpected wait termination: 192, 0 001a:trace:ole:CoWaitForMultipleHandles -- 0x8000ffff 001a:trace:ole:CoUninitialize () 001a:trace:ole:apartment_release 80000cafe: after = 4 0009:trace:ole:DllMain (0x7e9f0000,0,0x1) 0009:trace:ole:DllMain 0x7eb40000 0x0 0x1
Would someone suggest some ideas on debugging Ink Recognition app further? Rob, anyone? Observed TIDs relation to processes:
0009 - BasicRecognition.exe (test app)
0017 - Explorer.exe 0018, 0019, 001a, 001b, 001c, 001d
001f - Wisptis.exe (Out-of-process COM server) 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027
http://bugs.winehq.org/show_bug.cgi?id=14550
John Klehm xixsimplicityxix@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xixsimplicityxix@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #4 from H. Amri husain.amri@gmail.com 2008-12-06 21:54:18 --- Created an attachment (id=17705) --> (http://bugs.winehq.org/attachment.cgi?id=17705) Windows Journal Viewer log session
Windows Journal Viewer is also affected by this bug.
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #5 from H. Amri husain.amri@gmail.com 2008-12-06 21:58:15 --- Created an attachment (id=17706) --> (http://bugs.winehq.org/attachment.cgi?id=17706) Screenshot of error dialog.
http://bugs.winehq.org/show_bug.cgi?id=14550
H. Amri husain.amri@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |husain.amri@gmail.com
--- Comment #6 from H. Amri husain.amri@gmail.com 2008-12-06 22:00:32 --- Windows Journal Viewer is also affected by this bug. With latest Wine (1.1.10) I don't need to use winetricks to install gdiplus.dll, but there still unimplemented rtutils.dll.
http://bugs.winehq.org/show_bug.cgi?id=14550
Mike Kaplinskiy mike.kaplinskiy@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mike.kaplinskiy@gmail.com
--- Comment #7 from Mike Kaplinskiy mike.kaplinskiy@gmail.com 2009-02-25 21:03:44 --- I'm pretty sure ITabletManagerP (and A LOT of other interfaces) are implemented in TPCPS.DLL, I registered it with regsvr32, but that didn't help.
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #8 from John Klehm xixsimplicityxix@gmail.com 2009-02-25 23:11:10 --- (In reply to comment #7)
I'm pretty sure ITabletManagerP (and A LOT of other interfaces) are implemented in TPCPS.DLL, I registered it with regsvr32, but that didn't help.
What makes you think that? MSDN seems to suggest that it's inkobj.dll, http://msdn.microsoft.com/en-us/library/aa371797(VS.85).aspx.
I'm curious if I'm interpreting that page in the wrong manner.
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #9 from Mike Kaplinskiy mike.kaplinskiy@gmail.com 2009-02-28 14:25:41 --- (In reply to comment #8)
(In reply to comment #7)
I'm pretty sure ITabletManagerP (and A LOT of other interfaces) are implemented in TPCPS.DLL, I registered it with regsvr32, but that didn't help.
What makes you think that? MSDN seems to suggest that it's inkobj.dll, http://msdn.microsoft.com/en-us/library/aa371797(VS.85).aspx.
I'm curious if I'm interpreting that page in the wrong manner.
Sorry, I thought I saw regsvr32 saying some along the lines of "registering interface ITabletManagerP" when I did regsvr32 tpcps.dll, but I can't seem to reproduce the message (on a new install of wine), so I'm guessing I just didn't register inkobj.dll and they were really error messages. Sorry about that comment.
Also wisptis.exe hangs after jntview terminates. A relay log shows its continuously doing: 0020:Call KERNEL32.WaitForMultipleObjectsEx(00000003,0074ea14,00000000,00000000,00000001) ret=0100c12a 0020:Ret KERNEL32.WaitForMultipleObjectsEx() retval=ffffffff ret=0100c12a
I then tried to launch jntview again (without killing wisptis), and saw that the only ole warnings on the wisptis console were: warn:ole:ServerRpcChannelBuffer_GetDestCtx (0xa5e570,0xa5e574), stub! fixme:winstation:OpenInputDesktop (0,0,2000000): stub
I don't know if that helps. Wine 1.1.16
http://bugs.winehq.org/show_bug.cgi?id=14550
Jan Rzepecki jan.rzepecki@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jan.rzepecki@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=14550
Alexander Scott-Johns alexander.scott.johns+winebug@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexander.scott.johns+winebu | |g@googlemail.com
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #10 from Alexander Scott-Johns alexander.scott.johns+winebug@googlemail.com 2009-06-29 12:06:35 --- (In reply to comment #6)
Windows Journal Viewer is also affected by this bug. With latest Wine (1.1.10) I don't need to use winetricks to install gdiplus.dll, but there still unimplemented rtutils.dll.
Windows Journal Viewer still doesn't work (in wine-1.1.24-375-g85aadbd), but rtutils.dll is now implemented.
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #11 from H. Amri husain.amri@gmail.com 2009-07-18 10:10:59 --- (In reply to comment #10)
Windows Journal Viewer still doesn't work (in wine-1.1.24-375-g85aadbd), but rtutils.dll is now implemented.
I just tried in 1.1.26 and it complained about rtutils.dll so I had to manually provide it. It still pretty much how it was since last time I tried.
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #12 from H. Amri husain.amri@gmail.com 2009-07-18 10:39:58 --- (In reply to comment #11)
(In reply to comment #10)
Windows Journal Viewer still doesn't work (in wine-1.1.24-375-g85aadbd), but rtutils.dll is now implemented.
I just tried in 1.1.26 and it complained about rtutils.dll so I had to manually provide it. It still pretty much how it was since last time I tried.
my bad! it complained about mfc42u.dll and not rtutils.dll
sorry :)
http://bugs.winehq.org/show_bug.cgi?id=14550
H. Amri husain.amri@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #13 from H. Amri husain.amri@gmail.com 2009-07-19 07:20:59 --- *** This bug has been confirmed by popular vote. ***
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #14 from Austin English austinenglish@gmail.com 2010-05-26 16:02:49 --- This is your friendly reminder that there has been no bug activity for 6 months. Is this still an issue in current (1.2-rc1 or newer) wine?
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #15 from Alexander Scott-Johns alexander.scott.johns+winebug@googlemail.com 2010-05-26 16:21:17 --- (In reply to comment #14)
This is your friendly reminder that there has been no bug activity for 6 months. Is this still an issue in current (1.2-rc1 or newer) wine?
Still present in wine-1.2-rc1-56-g8255ee7.
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #16 from Alexander Scott-Johns alexander.scott.johns+winebug@googlemail.com 2010-05-26 16:25:56 --- (In reply to comment #15)
(In reply to comment #14)
This is your friendly reminder that there has been no bug activity for 6 months. Is this still an issue in current (1.2-rc1 or newer) wine?
Still present in wine-1.2-rc1-56-g8255ee7.
Wait.... make that wine-1.2-rc1-51-gab11102.
http://bugs.winehq.org/show_bug.cgi?id=14550
Arren Lex arrenlex@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |arrenlex@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #17 from Austin English austinenglish@gmail.com 2012-03-19 14:53:13 CDT --- This is your friendly reminder that there has been no bug activity for 650 days. Is this still an issue in current (1.4 or newer) wine?
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #18 from John Klehm xixsimplicityxix@gmail.com 2012-03-21 23:13:26 CDT --- (In reply to comment #17)
This is your friendly reminder that there has been no bug activity for 650 days. Is this still an issue in current (1.4 or newer) wine?
Sure is as we have no implementation of the needed dlls and the ink related natives have no chance of working without some kind of faux driver support.
http://bugs.winehq.org/show_bug.cgi?id=14550
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|MS Ink demo program fails |MS Ink demo program fails, | |needs InkObj.DLL
--- Comment #19 from Austin English austinenglish@gmail.com 2012-03-22 13:09:06 CDT --- Targetting a specific dll.
http://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #20 from Austin English austinenglish@gmail.com 2013-11-13 14:19:17 CST --- Still present in 1.7.5.
https://bugs.winehq.org/show_bug.cgi?id=14550
--- Comment #21 from Austin English austinenglish@gmail.com --- http://www.microsoft.com/en-us/download/details.aspx?id=20771
is this the program?
https://bugs.winehq.org/show_bug.cgi?id=14550
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #22 from Fabian Maurer dark.shadow4@web.de --- Is this issue still present as of wine-2.21?
https://bugs.winehq.org/show_bug.cgi?id=14550
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net URL| |https://download.cnet.com/T | |ablet-PC-Platform-Software- | |Development-Kit-SDK-v1-5/30 | |01-2206_4-10751732.html Keywords| |download Summary|MS Ink demo program fails, |Tablet PC SDK 1.x example |needs InkObj.DLL |applications fail to run, | |reporting 'There are no | |handwriting recognizers | |installed.' Status|NEW |NEEDINFO
--- Comment #23 from Anastasius Focht focht@gmx.net --- Hello folks,
please always specify the exact versions of SDK/apps used.
https://msdn.microsoft.com/en-us/library/ms840463.aspx -> "Tablet PC SDK Versions"
Unfortunately Microsoft pulled all Tablet SDK downloads ... to erase embarrassing history? ;-)
There is an old copy of Tablet SDK 1.5 here:
https://download.cnet.com/Tablet-PC-Platform-Software-Development-Kit-SDK-v1...
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files (x86)/Microsoft Tablet PC Platform SDK/Bin
$ ls -la total 684 drwxrwxr-x. 2 focht focht 4096 Oct 7 20:29 . drwxrwxr-x. 6 focht focht 4096 Oct 7 20:29 .. -rwxrwxr-x. 1 focht focht 29184 Jan 27 2003 AdvReco.exe -rwxrwxr-x. 1 focht focht 81920 Jan 27 2003 AutoClaims15.exe -rwxrwxr-x. 1 focht focht 77824 Jan 27 2003 AutoClaims.exe -rwxrwxr-x. 1 focht focht 8192 Jan 27 2003 BasicRecognition.exe -rwxrwxr-x. 1 focht focht 28766 Jan 27 2003 CACApp.exe -rwxrwxr-x. 1 focht focht 57856 Jan 27 2003 EventSink.exe -rwxrwxr-x. 1 focht focht 6656 Jan 27 2003 FactReg.exe -rw-rw-r--. 1 focht focht 51211 Dec 13 2002 formdata.png -rw-rw-r--. 1 focht focht 7131 Dec 13 2002 formdata.xml -rwxrwxr-x. 1 focht focht 36864 Jan 27 2003 InkClipboard.exe -rwxrwxr-x. 1 focht focht 20588 Jan 27 2003 InkCollection.exe -rwxrwxr-x. 1 focht focht 12800 Jan 27 2003 InkDivider.exe -rwxrwxr-x. 1 focht focht 36962 Jan 27 2003 InkErase.exe -rwxrwxr-x. 1 focht focht 20480 Jan 27 2003 InkHitTest.exe -rwxrwxr-x. 1 focht focht 20590 Jan 27 2003 InkRecognition.exe -rwxrwxr-x. 1 focht focht 15360 Jan 27 2003 InkZoom.exe -rwxrwxr-x. 1 focht focht 24576 Jan 27 2003 MultiReco.exe -rwxrwxr-x. 1 focht focht 11264 Jan 27 2003 PaperForm.exe -rw-rw-r--. 1 focht focht 1941 Nov 26 2002 sampdesc.css -rw-rw-r--. 1 focht focht 30617 Dec 5 2002 sampdesc.hta -rw-rw-r--. 1 focht focht 4150 Nov 26 2002 sampdesc.ico -rw-rw-r--. 1 focht focht 4210 Nov 26 2002 sampdesc.jpg -rw-rw-r--. 1 focht focht 4173 Jan 14 2003 sampdesc.js -rw-rw-r--. 1 focht focht 12042 Nov 26 2002 sampdesc.xml -rw-rw-r--. 1 focht focht 4478 Nov 26 2002 sampdesc.xsl -rwxrwxr-x. 1 focht focht 13312 Jan 27 2003 Serialization.exe -rwxrwxr-x. 1 focht focht 9216 Jan 27 2003 TPCInfo.exe --- snip ---
--- snip --- $ find .wine/drive_c/ -iname "inkobj.dll" -exec ls -la {} ; -rw-rw-r--. 1 focht focht 1032 Oct 7 20:28 .wine/drive_c/windows/syswow64/inkobj.dll -rw-rw-r--. 1 focht focht 1032 Oct 7 20:28 .wine/drive_c/windows/system32/inkobj.dll -rw-rw-r--. 1 focht focht 1131008 Dec 27 2002 '.wine/drive_c/Program Files (x86)/Common Files/Microsoft Shared/Ink/inkobj.dll'
$ ls -la ".wine/drive_c/Program Files (x86)/Common Files/Microsoft Shared/Ink/" total 1416 drwxrwxr-x. 2 focht focht 4096 Oct 7 20:29 . drwxrwxr-x. 3 focht focht 4096 Oct 7 20:29 .. -rw-rw-r--. 1 focht focht 257536 Jan 27 2003 InkDiv.dll -rw-rw-r--. 1 focht focht 1131008 Dec 27 2002 inkobj.dll -rw-rw-r--. 1 focht focht 48128 Dec 27 2002 tpcps.dll --- snip ---
--- snip --- $ WINEDEBUG=+seh,+relay wine ./BasicRecognition.exe >>log.txt 2>&1 ... 002a:Call ole32.CoCreateInstance(010013b0,00000000,00000001,010012c0,01002010) ret=0100171a ... 002a:Call ntdll.RtlInitUnicodeString(0033f4e0,7e55c6a0 L"\Registry\Machine\Software\Classes") ret=7e4a88bc 002a:Ret ntdll.RtlInitUnicodeString() retval=00000046 ret=7e4a88bc 002a:Call ntdll.NtCreateKey(0033f4dc,02000000,0033f4e8,00000000,00000000,00000000,00000000) ret=7e4a8702 002a:Ret ntdll.NtCreateKey() retval=00000000 ret=7e4a8702 002a:Call ntdll.RtlInitUnicodeString(0033f520,0033f566 L"CLSID\{AAC46A37-9229-4FC0-8CCE-4497569BF4D1}") ret=7e4aa6aa ... 002a:Call KERNEL32.LoadLibraryExW(0033f386 L"C:\Program Files (x86)\Common Files\Microsoft Shared\Ink\inkobj.dll",00000000,00000008) ret=7e4a821f ... 002a:Call advapi32.RegOpenKeyExW(80000001,55441ed0 L"Software\\Microsoft\\Wisp\\Pen\\Profile",00000000,00000001,0033ef50) ret=5543bb07 002a:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=5543bb07 002a:Call advapi32.RegOpenKeyExW(80000001,55441f20 L"Software\\Microsoft\\TPG\\Recognizers",00000000,00000001,0033ef24) ret=5543afac 002a:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=5543afac 002a:Call advapi32.RegQueryValueExW(00000060,55441f6c L"GestureTimeout",00000000,00000000,555051b4,0033ef20) ret=5543afcb 002a:Ret advapi32.RegQueryValueExW() retval=00000000 ret=5543afcb 002a:Call advapi32.RegCloseKey(00000060) ret=5543afdc 002a:Ret advapi32.RegCloseKey() retval=00000000 ret=5543afdc 002a:Call advapi32.RegOpenKeyExW(80000001,55441f20 L"Software\\Microsoft\\TPG\\Recognizers",00000000,00000001,0033ef24) ret=5543bb8a 002a:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=5543bb8a 002a:Call advapi32.RegQueryValueExW(00000060,55441e5c L"GestureRecognizer",00000000,00000000,00000000,0033ef20) ret=5543bbae 002a:Ret advapi32.RegQueryValueExW() retval=00000002 ret=5543bbae 002a:Call advapi32.RegCloseKey(00000060) ret=5543bbbf 002a:Ret advapi32.RegCloseKey() retval=00000000 ret=5543bbbf 002a:Call advapi32.RegOpenKeyExW(80000002,55441f20 L"Software\\Microsoft\\TPG\\Recognizers",00000000,00000001,0033ef24) ret=5543bbd5 002a:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=5543bbd5 ... 002a:Ret PE DLL (proc=0x5543c766,module=0x55430000 L"inkobj.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1 002a:Ret KERNEL32.LoadLibraryExW() retval=55430000 ret=7e4a821f ... 002a:Call ole32.CoLoadLibrary(0033f3fc L"C:\Program Files (x86)\Common Files\Microsoft Shared\Ink\inkobj.dll",00000000) ret=5543ab62 ... 002a:Call KERNEL32.LoadLibraryExW(0033f3fc L"C:\Program Files (x86)\Common Files\Microsoft Shared\Ink\inkobj.dll",00000000,00000008) ret=7e4ae28a ... 002a:Ret KERNEL32.LoadLibraryExW() retval=55430000 ret=7e4ae28a 002a:Ret ole32.CoLoadLibrary() retval=55430000 ret=5543ab62 ... 002a:Call ole32.CoCreateFreeThreadedMarshaler(00480640,00480660) ret=554b0ac1 002a:Ret ole32.CoCreateFreeThreadedMarshaler() retval=00000000 ret=554b0ac1 ... 002a:Call advapi32.RegOpenKeyExW(80000002,55441bc8 L"Software\Microsoft\TPG\System Recognizers",00000000,00020019,0033f5ec) ret=554389ae 002a:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=554389ae ... 002a:fixme:ole:CoCreateInstanceEx no instance created for interface {c68f52f9-32a3-4625-906c-44fc23b40958} of class {aac46a37-9229-4fc0-8cce-4497569bf4d1}, hres is 0x80040235 002a:Ret ole32.CoCreateInstance() retval=80040235 ret=0100171a 002a:Call user32.MessageBoxA(00000000,01001450 "There are no handwriting recognizers installed.\nYou need to have at least one in order to run this sample.\nExiting.",010010dc "Basic Recognition",00000010) ret=01001732 --- snip ---
I found the source of 'BasicRecognition.exe' (nothing special) on github:
https://github.com/Microsoft/Windows-classic-samples/blob/master/Samples/Win...
--- snip --- // Create a recognition context that uses the default recognizer. // The single context will be used for all the recognition. hr = CoCreateInstance(CLSID_InkRecognizerContext, NULL, CLSCTX_INPROC_SERVER, IID_IInkRecognizerContext, (void **) &g_pIInkRecoContext); if (FAILED(hr)) { ::MessageBox(NULL, TEXT("There are no handwriting recognizers installed.\n" TEXT("You need to have at least one in order to run this sample.\nExiting.")), gc_szAppName, MB_ICONERROR); return -1; }
// Create the InkCollector object. hr = CoCreateInstance(CLSID_InkCollector, NULL, CLSCTX_INPROC_SERVER, IID_IInkCollector, (void **) &g_pIInkCollector); if (FAILED(hr)) return -1; --- snip ---
The reason for the (native) failure is missing registry data due to missing Recognizers (dlls). They are only shipped with Windows Tablet PC Edition.
http://www.tabletpctalk.com/developer/tabletReco/index.shtml https://docs.microsoft.com/en-us/windows/desktop/tablet/registering-your-rec...
-> HKLM\Software\Microsoft\TPG\System Recognizers
There is the possibility to use some example/template dll from the SDK.
https://github.com/Microsoft/Windows-classic-samples/tree/master/Samples/Win...
--- snip --- $ find .wine/drive_c/ -iname "reco*" .wine/drive_c/Program Files (x86)/Microsoft Tablet PC Platform SDK/Samples/RecoDLL .wine/drive_c/Program Files (x86)/Microsoft Tablet PC Platform SDK/Samples/RecoDLL/RecoDll.def .wine/drive_c/Program Files (x86)/Microsoft Tablet PC Platform SDK/Samples/RecoDLL/RecoDll.dsp .wine/drive_c/Program Files (x86)/Microsoft Tablet PC Platform SDK/Samples/RecoDLL/RecoDll.vcproj .wine/drive_c/Program Files (x86)/Microsoft Tablet PC Platform SDK/Samples/RecoDLL/RecoDll.cpp .wine/drive_c/Program Files (x86)/Microsoft Tablet PC Platform SDK/Samples/RecoDLL/RecoDll.sln .wine/drive_c/Program Files (x86)/Microsoft Tablet PC Platform SDK/Samples/RecoDLL/recodll.rc --- snip ---
Sadly not provided as binary though so I stop here.
I don't see a compelling reason why I should waste my time on an old ticket that is now 10 years old. If you want progress, re-test with recent Wine and/or provide an example recognizer dll that properly registers. NOTE: Do not attach original MS Tablet PC binaries/dlls.
$ sha1sum setup.exe 219107690b45fa76e60574b0c887342637c29683 setup.exe
$ du -sh setup.exe 11M setup.exe
$ wine --version wine-3.17-95-g726abdb388
Regards
https://bugs.winehq.org/show_bug.cgi?id=14550
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://download.cnet.com/T |https://web.archive.org/web |ablet-PC-Platform-Software- |/20051031014501/http://down |Development-Kit-SDK-v1-5/30 |load.microsoft.com/download |01-2206_4-10751732.html |/b/8/2/b8221877-bc2a-4eac-a | |b3a-5197f21207d3/setup.exe
--- Comment #24 from Anastasius Focht focht@gmx.net --- Hello folks,
adding stable download link via Internet Archive:
https://web.archive.org/web/20051031014501/http://download.microsoft.com/dow...
Took me a while to dig out that one. Fortunately one snapshot exists.
Still, there is no feedback since many years. Keeping the bug report still open in hope someone with real tablet hardware can retest one day. Preferably before the heat death of the universe.
$ wine --version wine-6.0-226-g051d1abee48
Regards