are working now, using our own implementation of a COM-RPC-Server. If you want to test a Server/Client-Pair - here's our free Download: www.datenhaus.de/Downloads/dh_RPC.zip For a successful test under wine, you have to Install the Redistributables of an actual VB6-Runtime and some ADO-Distributable >=2.5 first. I've tested the whole thing under a Debian-Sid with a somewhat older Kernel (2.6.9), but with a new "apt-getted" Wine-Version (0.97). The Installation of the VB6-Runtime and the ADO-Redist was not possible, until I figured out, that a prior install of IE6 was helpful, to install the two above mentioned packages. After installing these prerequisites, I removed the IE6-ProgramFolder, unpacked our ZIP to c:\dh_RPC, started the Server and the Client - eh voilĂ - all was working fine (Linux->Linux and XP->Linux). The complete set of COM-DemoCalls was working "OutOfTheBox", even the "Disconnected ADO-Recordset"-Call was successful. (For the Linuxers, that are serialized DB-Resultsets, wich are often used in distributed COM-Scenarios). No Memory-Leaking, even under Stress (the server was able, to deliver max. 700 small COMRequsest per second, stressed from multiple Clients (XP-Box, comparable Hardware, reached ca. 2000). So Wine has ca. 3 times the Call-Overhead, regarding Object-Instantiation and Method-Invoking-By-Name. But the more realistic Recordset-Call was finished after 14ms, where the XP-Box needed 9ms - so for realistic Calls, we now see only factor 1.5 under Wine. And in the "Large-String- Reflection-Test" (2MB Up- and 4MB-Download) - Wine was a little bit faster than XP - good job, regarding your socket-bindings. Minimizing to the "KDE-SysTray", all was working, I was impressed. Now the bad news: ;-) Not working was: 1. Running as Service (Service-Registering was successful, but ...) (Ok, no big problem, running as UserProcess was working, but are there plans, to simulate the Win-ServiceControlmanager?) 2. Win-Authentication and -Impersonation (LogonUser- and ImpersonateLoggedOnUser-APIs - already mapped?) 3. "Global ServerSingletons" using ROT-Entries with FileMoniker-Binding 4. "RPCServer-internal Singletons" (CoMarshalInterThreadInterfaceInStream and CoGetInterfaceAndReleaseStream against the IUnknown-Interface). Any Ideas, especially for 3. and 4.? My attempts, to get any useful information per WineDebug were not successful. It would be great, if anybody with more "Wine-Debugging-Experience" could look at the appropriate Calls using our free Server-Download. Olaf Schmidt
are working here, using our own implementation of a COM-based RPC-Server. Its speciality is the hosting of COM-Binaries, that don't have to be registered, to instantiate Classes and invoke Methods on them. If you want to test a Server/Client-Pair - here's our free Download: www.datenhaus.de/Downloads/dh_RPC.zip For a successful test under Wine, you have to Install the Redistributables of an actual VB6-Runtime and some ADO-Distributable >=2.5 first. I've tested the whole thing under a Debian-Sid with a somewhat older Kernel (2.6.9), but with a new "apt-getted" Wine-Version (0.97). The Installation of the VB6-Runtime and the ADO-Redist was not possible, until I figured out, that a prior install of IE6 was helpful, to install the two above mentioned packages. After installing these prerequisites, I removed the IE6-ProgramFolder, unpacked our ZIP to c:\dh_RPC, started the Server and the Client - eh voil? - all was working fine (Linux->Linux and XP->Linux). The complete set of COM-DemoCalls was working "OutOfTheBox", even the "Disconnected ADO-Recordset"-Call was successful. (For the Linuxers, that are serialized DB-Resultsets, wich are often used in distributed COM-Scenarios). No Memory-Leaking, even under Stress (the server was able, to deliver max. 700 small COMRequsest per second, stressed from multiple Clients (XP-Box, comparable Hardware, reached ca. 2000). So Wine has ca. 3 times the Call-Overhead, regarding Object-Instantiation and Method-Invoking-By-Name. But the more realistic Recordset-Call was finished after 14ms, where the XP-Box needed 9ms - so for realistic Calls, we now see only factor 1.5 under Wine. And in the "Large-String- Reflection-Test" (2MB Up- and 4MB-Download) - Wine was a little bit faster than XP - good job, regarding your socket-bindings. Minimizing to the "KDE-SysTray", all was working; I was impressed. Now the bad news: ;-) Not working was: 1. Running as Service (Service-Registering was successful, but ...) (Ok, no big problem, running as UserProcess was working, but are there plans, to simulate the Win-ServiceControlmanager?) 2. Win-Authentication and -Impersonation (LogonUser- and ImpersonateLoggedOnUser-APIs - already mapped to...?) 3. "Global ServerSingletons" using ROT-Entries with FileMoniker-Binding 4. "RPCServer-internal Singletons" (CoMarshalInterThreadInterfaceInStream and CoGetInterfaceAndReleaseStream against the IUnknown-Interface). Any Ideas, especially for 3. and 4.? My attempts, to get any useful information per WineDebug were not successful. It would be great, if anybody with more "Wine-Debugging-Experience" could look at the appropriate Calls using our free Server-Download. Thanks. (Or is the WineDevel-Group the better list, to post this problem?) Olaf Schmidt
Am Dienstag, 21. Februar 2006 12:36 schrieb Olaf Schmidt:> Now the bad news: ;-) > Not working was: > 1. Running as Service (Service-Registering was successful, but ...) > (Ok, no big problem, running as UserProcess was working, but > are there plans, to simulate the Win-ServiceControlmanager?) > 2. Win-Authentication and -Impersonation > (LogonUser- and ImpersonateLoggedOnUser-APIs - already mapped to...?) > 3. "Global ServerSingletons" using ROT-Entries with FileMoniker-Binding > 4. "RPCServer-internal Singletons" (CoMarshalInterThreadInterfaceInStream > and CoGetInterfaceAndReleaseStream against the IUnknown-Interface). > > Any Ideas, especially for 3. and 4.? > My attempts, to get any useful information per WineDebug were not > successful. > It would be great, if anybody with more "Wine-Debugging-Experience" could > look at the appropriate Calls using our free Server-Download. > > Thanks. > (Or is the WineDevel-Group the better list, to post this problem?)i think you are better on wine.devel. Only some of the developers read wine.user list. Bye Stefan
"Olaf Schmidt" <sss@online.de> schrieb im Newsbeitrag news:017901c636db$077a4870$1300a8c0@OlafsPC...> (Or is the WineDevel-Group the better list, to post this problem?)Ok guys, I will post there again, thanks. Olaf
sss wrote:> 3. "Global ServerSingletons" using ROT-Entries with FileMoniker-Binding > 4. "RPCServer-internal Singletons" (CoMarshalInterThreadInterfaceInStream > and CoGetInterfaceAndReleaseStream against the IUnknown-Interface).Could you perhaps post minimal test cases in your favorite language to wine-devel? - Dan -- Wine for Windows ISVs: http://kegel.com/wine/isv