This is one solution to this error, hardly the only one.
Sometimes when you try to run a .NET application, you get a completely generic error message in event viewer that includes “faulting module kernel32.dll” in the description. If you Google this, you will see that there is a wide and nearly useless range of cases where this can occur.
In my particular case, though it took a little while to figure out, the cause and solution were fairly straightforward.
The application was a windows service, and would throw an error when started. It worked in other environments, worked on other machines in the same environment, yada yada yada. The problem was that the .NET application had a reference to dependency it expected to be in the GAC. On the machine throwing the error, the dependency wasn’t in the GAC, thus the failure (there were actually two missing dependencies, one custom, one Microsoft Enterprise Library 4.1).
Once the dependencies were installed, the windows service started successfully.