I have an application written in C# using VS 2005 that calls a C DLL. Everything has been working fine until recently. A few days ago I sent a release build to my client and they reported they are getting a dllnotfoundexception. We worked through some similar issues some time ago and up until recently the versions I sent out worked just fine.
Dependency walker tells me that WINMM.DLL calls MSVCR80.DLL, and there may be a version problem. However, even if I put a version of MSVCR80.DLL in the same directory, I still get the error. Apparently it is coming from the fact that IESHIMS.DLL and WER.DLL are not on the system. I don't need ANYTHING in those DLLs- all my DLL does is some mmsystem based wave playback. But that does not alter the fact that Windows won't run the release version. The debug version, by the way, runs fine, but only on a system with VS 2005 installed.
I have seen some references to the fact that the latest version of IE got rid of IESHIMS.DLL and replaced it with something else. However, the solutions I've seen posted don't seem to help. I'm running on XP (as is my client) but this will be a commercial product, so we have to support Vista and W7.
I have seen remarks dating from around 2005 that say certain manifests need to be built certain ways to avoid this, but I have not figured out what is involved. I would appreciate any thoughts on finding a solution to this!