Application crash due to ucrtbase.dll
Solution 1
I encountered this issue on two occasions where I was able to solve one of them and got the "problem area" of the other. This ucrtbase.dll error thing is just a general error. So what went wrong for me?
First case; Application -> cpp.dll -> cpp interface with static linking to -> C#.dll -> Encountered error. The error was detected and caught and thrown upwards in C# and even then hit to the C-interop to C++. This doesn't work and everything just exploded.
Second case: Unsolved at the moment but crashed inexplicably at trying to use a _COM_SMARTPTR_TYPEDEF which worked previously in Win7 but not in Win10.
Edit: Second case resolved; was deep inside com constructors which failed due to a bad proxy/stub of com interface when communicating with other processes. Basically bad communication.
Solution 2
I've installed redistributable versions of various versions and whatever I could get a hold of and it still doesn't work.
ucrtbase.dll
has nothing to do with any version of the Visual C++ Redistributable. The file that is faulting is from the Windows 10 SDK (26624).
I've concluded that it works on a computer with visual studio 2017 installed but not on one without
Visual Studio 2017 depending on the components you selected to install would have installed the correct version of the Windows SDK.
What is not included by default in Windows and Microsoft Visual C++ Redistributable for Visual Studio 2017?
Visual Studio 2017 will install the Windows SDK if you select components that require it. If you don't select to install any components that require the Windows SDK, the Windows SDK, will not be installed by Visual Studio 2017.
What am I missing?
I would start, if you are the author of the program, by updating your solution to point to the correct version of ucrtbase.dll
, and then install the Universal C Runtime on the system. If you are not the author, then I would install the Windows 10 SDK (26624), in order to resolve the faulting module.
When you do install the correct version of the SDK, be sure you install the Universal C Runtime
, since that is actually what installs ucrtbase.dll
Solution 3
I had this problem too: I was mixing platform toolset for different projects (exe/lib/dll) having different toolsets; I solved by using the same toolset for all.
Alexander
Updated on September 18, 2022Comments
-
Alexander over 1 year
We are currently making upgrades to our application. Win7->Win10, VS2012->VS2017. The solutions have a fairly high complexity but everything has gone well except one single project(process).
The process dies and in the event log I can find this:
Faulting application name: MyProcess.exe, version: 1.0.0.0, time stamp: 0x5c418d86 Faulting module name: ucrtbase.dll, version: 10.0.10240.16384, time stamp: 0x559f3aa5 Exception code: 0xc0000409 Fault offset: 0x0007d84b Faulting process id: 0xcdc Faulting application start time: 0x01d4b19831ce98cd Faulting application path: C:\PathToMyProcess\MyProcess.exe Faulting module path: C:\Windows\SYSTEM32\ucrtbase.dll Report Id: 3071cc19-1a57-4828-9721-275a2d3cf164 Faulting package full name: Faulting package-relative application ID:
I've concluded that it works on a computer with visual studio 2017 installed but not on one without. I installed with .NET desktop development, Desktop development with C++. Had to include individual components: Visual c++ MFC for x86 and x64 and Windows 10 SDK 10.0.17134. Look picture.
I've installed redistributable versions of various versions and whatever I could get a hold of and it still doesn't work. What am I missing? What is not included by default in Windows and Microsoft Visual C++ Redistributable for Visual Studio 2017?