Same dll files in my computer is x64, but on another computer they are x86, strange

1.1k views Asked by At

I have an program which has the dependencies of MSVCP100D.DLL and MSVCR100D.DLL, x64 version.

This is the screenshot of DependencyWalker in my computer:

enter image description here

When I copy this program to my friend's computer, it can't run since there are no such two files. Then I copied the 2 dll files to his computer.

But it reports some error when executing the program, and when I use dependency walker to check, I found a very strange thing. This is screenshot from him:

enter image description here

Why they are "x64" in my computer and "x86" in his computer? How to fix it?


Update

My friend's system is win7 x64 too.

1

There are 1 answers

1
Freewind On BEST ANSWER

Finally, after several hours, we fixed it. There are too many strange things.

First. My system is win7 x64.

Here take MSVCP100D.DLL for example. There are two different MSVCP100D.DLL in my computer, one in windows/system32, one in windows/SysWOW64. They have different sizes.

Look at the screenshots: enter image description here

But in "everything" they have same sizes(even same modified date), that I thought they are the same.

enter image description here

Then I send the dll from system32 via an IM software called QQ.

I dragged the file from windoes/system32 which is 991K, but QQ displayed the size is "726K":

enter image description here

But, if I copy the file into another dir, e.g. D:\, then send it again, the size is correct "991K".

Finally, I copied these dll files into another dir, and package them into zip file, they are sent correctly, and the program run well on my friends' computer.