create_server class not registered

Questions about Wine on Linux
Post Reply
Menneck
Level 2
Level 2
Posts: 11
Joined: Wed May 08, 2019 3:23 am

create_server class not registered

Post by Menneck » Wed May 08, 2019 3:49 am

Hello,

I'm trying to run an application using third party Dlls. I registered the third party libraries and i can look up the entries in the registry. When I start the application i get these errors:

Code: Select all

002c:warn:file:CreateFileW Unable to create file L"\\\\.\\pipe\\{BEB4B3C8-CCD6-4F37-97E6-21DD51BD2F23}" (status c0000034)
002c:warn:ole:create_local_service No LocalService value
002c:err:ole:create_server class {beb4b3c8-ccd6-4f37-97e6-21dd51bd2f23} not registered
002c:err:ole:CoGetClassObject no class object {beb4b3c8-ccd6-4f37-97e6-21dd51bd2f23} could be created for context 0x4
I already tried to deregister and register the dlls manually with regsvr32.

Thanks for any suggestions :)

User avatar
DarkShadow44
Level 7
Level 7
Posts: 940
Joined: Tue Nov 22, 2016 5:39 pm

Re: create_server class not registered

Post by DarkShadow44 » Wed May 08, 2019 12:37 pm

Do you find the GUID inside the wine regedit?

Menneck
Level 2
Level 2
Posts: 11
Joined: Wed May 08, 2019 3:23 am

Re: create_server class not registered

Post by Menneck » Mon May 13, 2019 3:59 am

DarkShadow44 wrote:Do you find the GUID inside the wine regedit?
Yes in the HKEY_CLASSES_ROOT/CLSID directory and in HKEY_LOCAL_MACHINE/Software/Classes/CLSID

User avatar
DarkShadow44
Level 7
Level 7
Posts: 940
Joined: Tue Nov 22, 2016 5:39 pm

Re: create_server class not registered

Post by DarkShadow44 » Mon May 13, 2019 12:35 pm

Interesting, then it should work. In the registry, what is the path for the dll for that GUID? And does this DLL exist in the file system?

Menneck
Level 2
Level 2
Posts: 11
Joined: Wed May 08, 2019 3:23 am

Re: create_server class not registered

Post by Menneck » Tue May 14, 2019 5:36 am

DarkShadow44 wrote:Interesting, then it should work. In the registry, what is the path for the dll for that GUID? And does this DLL exist in the file system?
Yes the DLL does exist, it's in the same directory of the application. I also tried to move ist to the system32 directory of the 32-bit prefix, but it didn't change anything

User avatar
DarkShadow44
Level 7
Level 7
Posts: 940
Joined: Tue Nov 22, 2016 5:39 pm

Re: create_server class not registered

Post by DarkShadow44 » Tue May 14, 2019 11:17 pm

Is there a download I could use to test?

Menneck
Level 2
Level 2
Posts: 11
Joined: Wed May 08, 2019 3:23 am

Re: create_server class not registered

Post by Menneck » Wed May 22, 2019 6:55 am

Here is the necessary Dll and the program.

https://we.tl/t-zwMS9V0Ulf

User avatar
DarkShadow44
Level 7
Level 7
Posts: 940
Joined: Tue Nov 22, 2016 5:39 pm

Re: create_server class not registered

Post by DarkShadow44 » Wed May 22, 2019 11:38 am

Are you sure this is an issue? Because that program seems to do the same as on windows.

For the record, the program calls CoGetClassObject with CLSCTX_LOCAL_SERVER. And since that is not registered (neither on wine nor windows) it doesn't work.

Menneck
Level 2
Level 2
Posts: 11
Joined: Wed May 08, 2019 3:23 am

Re: create_server class not registered

Post by Menneck » Mon May 27, 2019 8:09 am

The desired output should be :

Code: Select all

INFO: 2019/05/27 14:41:15.785341 Module[main] - ID[] - Message[Interface version
 : 1.5.5.0]
Which is for me the case, when i execute it under Win7
But on Linux i get the following message as i mentioned before:

Code: Select all

002c:err:ole:create_server class {beb4b3c8-ccd6-4f37-97e6-21dd51bd2f23} not registered
002c:err:ole:CoGetClassObject no class object {beb4b3c8-ccd6-4f37-97e6-21dd51bd2f23} could be created for context 0x4

User avatar
DarkShadow44
Level 7
Level 7
Posts: 940
Joined: Tue Nov 22, 2016 5:39 pm

Re: create_server class not registered

Post by DarkShadow44 » Mon May 27, 2019 9:27 am

Yeah, because windows doesn't log failed calls. But I'm pretty sure the same "failure" happens on windows. So what exactly is the issue here, except for additional debug output?

Menneck
Level 2
Level 2
Posts: 11
Joined: Wed May 08, 2019 3:23 am

Re: create_server class not registered

Post by Menneck » Tue May 28, 2019 7:43 am

If Windows would have the same fail, you would get the Logging message from the program and the empty Interface-version message like in Linux or not?

Code: Select all

ERROR: 2019/05/28 13:50:42.843102 Module[main] - ID[] - Message[GetVersionComInterface: Could not get version of COM-Interface Version: error -2147352567 (FormatMessage failed with: Message 0x%1 not found in file %2.)]
INFO: 2019/05/28 13:50:42.843364 Module[main] - ID[] - Message[Interface version : ]
This is the present issue for me. How can Windows retrieve the Interface version, but Wine/Linux can't?

User avatar
DarkShadow44
Level 7
Level 7
Posts: 940
Joined: Tue Nov 22, 2016 5:39 pm

Re: create_server class not registered

Post by DarkShadow44 » Tue May 28, 2019 9:46 am

That error code is DISP_E_EXCEPTION, and it complains that it can't find a message in a file. That's not because a class is not registered though.

You probably don't happen to have the source? Would be nice to know how it tries to get the version. Other way would be to investigate the error without, I could probably do that.

Menneck
Level 2
Level 2
Posts: 11
Joined: Wed May 08, 2019 3:23 am

Re: create_server class not registered

Post by Menneck » Wed Jun 12, 2019 8:05 am

Sorry for the late answer, i got the sourcecode of the little test programm.
You can find it here: https://we.tl/t-ddp4C9EH6w

User avatar
DarkShadow44
Level 7
Level 7
Posts: 940
Joined: Tue Nov 22, 2016 5:39 pm

Re: create_server class not registered

Post by DarkShadow44 » Wed Jun 12, 2019 1:16 pm

Ah I see. Well, on windows I get also an error and an empty interface version. Using the dll you sent me previously. Does it work for you only with "heidenhaindnc.dll" and "TestProgrammHH.exe"? Without anything else registered?

Menneck
Level 2
Level 2
Posts: 11
Joined: Wed May 08, 2019 3:23 am

Re: create_server class not registered

Post by Menneck » Thu Jun 13, 2019 3:41 am

Ah, I previously executed an installer-file and then only unregistered and reregistered the Dlls. Apparently then it works. But now I executed the installer-file to uninstall and reregistered the Dll and it didn't worked on windows.

But under Linux I still got the same error.

Maybe it will work for you with this : https://we.tl/t-bbNZ1lxIry

User avatar
DarkShadow44
Level 7
Level 7
Posts: 940
Joined: Tue Nov 22, 2016 5:39 pm

Re: create_server class not registered

Post by DarkShadow44 » Thu Jun 13, 2019 2:02 pm

For the record, the program calls CoGetClassObject with CLSCTX_LOCAL_SERVER. And since that is not registered (neither on wine nor windows) it doesn't work.
Yeah, I'll take that back...
Interesting enough, it indeed seems to be because of that "not registered class". If I hack wine to always load classes, it works. Didn't expect that at all, but here we are. I'll try and look into what causes this.

And since I didn't say that yet, many thanks for the bugreport and helping to troubleshoot! :)

Menneck
Level 2
Level 2
Posts: 11
Joined: Wed May 08, 2019 3:23 am

Re: create_server class not registered

Post by Menneck » Fri Jun 14, 2019 3:15 am

How do you hack into wine to always load classes?
Would be nice to know, so I can keep going for the time you are looking into the problem.

No problem, thank you for the help :)

User avatar
DarkShadow44
Level 7
Level 7
Posts: 940
Joined: Tue Nov 22, 2016 5:39 pm

Re: create_server class not registered

Post by DarkShadow44 » Fri Jun 14, 2019 11:17 am

Menneck wrote:How do you hack into wine to always load classes?
In dlls/ole32/compobj.c, line 3150 remove

Code: Select all

if (CLSCTX_INPROC_SERVER & dwClsContext)

Menneck
Level 2
Level 2
Posts: 11
Joined: Wed May 08, 2019 3:23 am

Re: create_server class not registered

Post by Menneck » Tue Jun 18, 2019 4:25 am

Is there a Bug ID to track the problem?
So I could change to the improved version, when the problem gets solved?

User avatar
DarkShadow44
Level 7
Level 7
Posts: 940
Joined: Tue Nov 22, 2016 5:39 pm

Re: create_server class not registered

Post by DarkShadow44 » Tue Jun 18, 2019 11:34 am

No, no bug yet. I'd create one, but I don't think I'm allowed to link the files.

Menneck
Level 2
Level 2
Posts: 11
Joined: Wed May 08, 2019 3:23 am

Re: create_server class not registered

Post by Menneck » Mon Jul 29, 2019 8:41 am

Hello again,
thanks to your work-around I have now managed to get my program to run. Thank you very much! :D

Will this be implemented in the new Wine version?

User avatar
DarkShadow44
Level 7
Level 7
Posts: 940
Joined: Tue Nov 22, 2016 5:39 pm

Re: create_server class not registered

Post by DarkShadow44 » Mon Jul 29, 2019 11:33 am

Not in that form. But when I have time, I'll make it into a proper fix!

Post Reply