Override for bcryptPrimitives.dll doesn`t work

Questions about Wine on Linux
Locked
theHyronProject
Newbie
Newbie
Posts: 2
Joined: Mon May 29, 2023 5:58 am

Override for bcryptPrimitives.dll doesn`t work

Post by theHyronProject »

Hi!

I have wine-8.0.1 on Ubuntu 22.04.2 LTS.

I`m trying to run an application that requires distribuited transactions to work. So far I have already moved several files from windows 10 to wine and set overrides for them (clusapi.dll, cryptnet.dll, rpcrt4.dll, websocket.dll and xolehlp.dll) via winecfg and it worked. To continue I need to set up override for bcryptprimitives.dll that is required by rpcrt4.dll. I typed its name in the winecfg manually since it`s not on the override list but wine ignores that override. I get the following error at the start of the app:

Code: Select all

wine: Call from 7B012566 to unimplemented function bcryptPrimitives.dll.ProcessPrng, aborting
How do I set an override for a dll that is not on the list?

Thank you.
jkfloris
Level 12
Level 12
Posts: 3136
Joined: Thu Aug 14, 2014 10:10 am

Re: Override for bcryptPrimitives.dll doesn`t work

Post by jkfloris »

The output only shows that the function ProcessPrng can't be found in bcryptPrimitives.dll.
You can use the loaddll debug channel to find out if the DLL file is loaded.

Code: Select all

WINEDEBUG=+loaddll wine program.exe
Since bcryptPrimitives.dll is not part of Wine, placing the file in the same folder as the executable should be sufficient.
theHyronProject
Newbie
Newbie
Posts: 2
Joined: Mon May 29, 2023 5:58 am

Re: Override for bcryptPrimitives.dll doesn`t work

Post by theHyronProject »

I used loaddll and surprisingly the override for this dll does work. Even more - the dll is loaded if it is located in the system32 folder. But the error persists.

Is there a way in Wine to find out which dll is trying to call the bcryptPrimitives.dll.ProcessPrng function ?
Last edited by theHyronProject on Wed May 31, 2023 4:17 am, edited 2 times in total.
theHyronProject
Newbie
Newbie
Posts: 2
Joined: Mon May 29, 2023 5:58 am

Re: Override for bcryptPrimitives.dll doesn`t work

Post by theHyronProject »

This is the full error message

Code: Select all

005c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\bcryptPrimitives.dll" at 10000000: native
005c:fixme:process:NtQueryInformationProcess (0xffffffff,info_class=86,0x68ed40,0x000000a8,(nil)) Unknown information class
005c:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {a74efe00-14be-4ef9-9da9-1484d5473302}
005c:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 1000AB8B, 55) stub
005c:trace:loaddll:free_modref Unloaded module L"C:\\windows\\system32\\bcryptPrimitives.dll" : native
005c:err:module:DelayLoadFailureHook failed to delay load bcryptPrimitives.dll.ProcessPrng
wine: Call from 7B012566 to unimplemented function bcryptPrimitives.dll.ProcessPrng, aborting
wine: Unimplemented function bcryptPrimitives.dll.ProcessPrng called at address 7B012566 (thread 005c), starting debugger...
Locked