Windows – Application crash due to ucrtbase.dll

redistributablevisual studio 2017windows 10

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.

installed stuff

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?

Best Answer

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

Related Question