The application was unable to start correctly (0xc0000018) - Windows 8 x64
Today I started my computer and some errors showed up like this one, so some programs in autorun didn't started:
I have this error when opening lot of programs, I can't even use 7zip. The only thing I did yesterday was to install a game through Steam and now I can't use like 70% of the software on my PC (most of them get this error on the entire program and some only on certain modules of it).
I just ran a SFC /scannnow
and the result was: "Windows Resource Protection did not find any integrity violations".
Could this be some kind of a virus or Steam that messed up something? What should I do?
Thanks for all suggestions, after some Googling I found this solution that actually looks like it worked for me:
- Press Win+R and type
regedit
- Go to
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\WindowsNT\CurrentVersion\Windows
- Than search for
APPINIT_DLLS
and delete everything in it - Reboot
I'm afraid very few people know the root cause of the mysterious 0xC0000018 EXE launch error because Microsoft makes it vague, even until Windows 10. When reading Jeffrey Richter's Programming Applications for MS Windows 4th-ed, I happened to find it out.
If a DLL requires to be loaded at a fixed address(in process virtual address space), but the requirement cannot be fulfilled, Windows asserts the very 0xC0000018 error. But there is no apparent clue to tell which DLL(s) cause the problem. A simple Google search of "0xC0000018" just pops you with lots of posts of baffled users.
To reproduce, you can prepare a solution(Visual Studio term) with one EXE and two DLL, and set both DLL to have linker option /FIXED /BASE:"0x44440000"
and have the EXE implicitly load the two DLLs, then you will see 0xC0000018 error on EXE launch.
And yes, clearing out APPINIT_DLLS
in the registry is your first bet to get rid of the possible culprits. Those DLLs will be loaded into every process you launch so may ruin your live.
Then how to pinpoint the actual culprit DLL? Perhaps there is a way, use dumpbin.exe to check every DLL in APPINIT_DLLS
or other possible auto-loaded DLLs(help with AutoRuns), check them one by one with dumpbin -headers
. If there is no .reloc
section, it is a fixed-location DLL.
I have installed about 40 games through Steam and don't have any problems, no, I don't think its a bad of Steam. Try to restore your system using Windows Restore Points: http://windows.microsoft.com/en-ph/windows-vista/system-restore-frequently-asked-questions
[EDITED] Maybe some DLL are missed, you can test the dependencies of the program you can't start using Dependency Walker: http://www.dependencywalker.com/