Error 0xC0000142 is STATUS_DLL_INIT_FAILED
(I determined this using the Error Code Lookup Tool). A quick google found this question, which says:
The most common cause of this problem is that a program that links to user32.dll
was run in a context in which it could not talk to the system's window station and desktop. Normally, a service such as the agent runs in its own window station and desktop, and user32 programs run fine, but any program that displayed a dialog box would then hang without any opportunity for a human being to see the error message or close the dialog.
So, if you're not using any functions from user32.dll
, you should remove that dependency. If you are using that DLL, then I'm not really sure what you're supposed to do. One option would be to load the DLL dynamically with LoadLibrary
and use it if it succeeds (i.e. you have a valid window session) or to fallback on a failure mode if it fails.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…