title: CLI/C++ DLL wraps unmanaged DLL, crashed at run time in .NET (ieshims.dll and gpsvc.dll missing)
body: <p>I have inherited an unamanged DLL (originally built from C code) and want to use it in a .NET project. I have header files which wrap the DLL's functionality in a C++ type object, it is this object-oriented functionality I want to expose. Everything works fine when I #include these header files it in a standard C++ (Win32) project and in a C++/CLI project, referencing the original DLL.</p>
  <p>Using Visual C++ Express 2010, I have tried to build a managed DLL for .NET. This DLL then crashed at runtime because of dependency issues. Dependency walker says:</p>
  <blockquote>
  <p>Warning: At least one delay-load dependency module was not found.</p>
  <p>Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.</p>
  </blockquote>
  <p>and complains that it can't find gpsvc.dll or ieshims.dll. I know this has something to do with x86 vs x64 (I am running Win7 on x64) but, since I can use the DLL on my system in a C++ project, I suspect it must be possible to wrap this in a managed DLL for use in .NET on the same system.</p>
  <p>Thanks very much in advance to anyone who can offer any insight!</p>
  <p>(by the way, my goal is to develop a .NET assembly instead of using p/invoke directly on the original DLL, since it will be used by a lot of C#/VB programmers with limited interop experience after me)</p>