We publish a Windows desktop application (built with Visual C++ 2013 with the v120_xp
platform toolset) which worked fine on Windows 10, but we've started to receive reports from users who have installed the "Threshold 2" update that our app now fails to start, showing the following error message:
The application was unable to start correctly (0xc0000142). Click OK to close the application.
The error code is STATUS_DLL_INIT_FAILED
, so we're presumably looking for a DLL failing to initialize.
We've made some attempts to troubleshoot this by observing the application starting up in a debugger, and using Process Monitor to see which DLLs are being loaded. The last DLL loaded (on a machine with Threshold 2 installed) is davhlpr.dll
. When we watch our application starting up on Windows 10 without Threshold 2, it starts without apparently loading that DLL at all. This suggests that the problem might be something to do with davhlpr.dll
, but our code doesn't explicitly depend on that DLL and I have no idea what it is.
Has anyone else seen anything like this?
Does anyone have any ideas as to how we can troubleshoot this? After trying the debugger and Process Monitor, I'm out of ideas.