Take the 2-minute tour ×

I have a simple 32 bit app running. It uses Qt and other libraries. Having figured out manifests, I have a folder containing the app , manifests and dependent DLLs. Running this on the target machine under Windows 7 64 bit straight from a USB stick works. Copying this to a folder on the D:\ drive and it works.

Copying this to a folder under Program files (x86) and I get :

R6034. An application has made an attempt to load the C runtime library incorrectly.

I have a manifest for my executable. I also have the manifest for the msvc*.dll's in the folder as suggested elsewhere in this forum. So, why does this work everywhere except in the place it's supposed to be?

share|improve this question
What version of Visual C++? –  Ben Voigt Nov 17 '11 at 12:48
Have you considered using the static runtime instead of the DLL? –  Harry Johnston Nov 18 '11 at 4:06
Ben. It's VC2008. Harry, yes I have but I was hoping not to go there. It seems to me there's something about Windows 7 64 bit I don't understand. The same apps built as 32 bit work perfectly. –  ExpatEgghead Nov 18 '11 at 15:13
I assume it works if you put it in Program Files on a 32-bit machine? Which version of Visual Studio and which language? –  Harry Johnston Nov 19 '11 at 5:18
Just to make sure, use Process Monitor to confirm that your copy of the MSVC DLL is being loaded. –  Harry Johnston Nov 19 '11 at 5:20

1 Answer 1

Dependency Walker will help here - run it on your .exe when it's in a working state and when it's not and compare the locations of the C runtime library your app is attempting to use (I believe it should be msvcrt.dll if you're in release, msvcrtd.dll if you're not) and you'll hopefully be able to spot a difference.

I'm not certain where you could go from there - perhaps deploy the correct version of the dll into the same folder as your .exe?

share|improve this answer
sjwarner - thanks. I have used dependency walker a lot and it doesn't show any problems apart from the usual missing ieshims.sll which I ignore. All my dlls , including the runtime dlls are deployed in the same folder as the .exe. –  ExpatEgghead Nov 18 '11 at 15:14

Your Answer


