Share via

0xc0000007b when executing a 32-bit application in a 64-bit version of Windows 10

Anonymous
2022-12-20T17:31:02+00:00

Recently, I encountered this error when trying to execute a 32-bit version of an application in a 64-bit version of Windows.

After spending several hours reading, I eventually came across a post that indicated what this error means:
STATUS INVALID IMAGE FORMAT

Interestingly, I had just run procmon while attempting to start the application, and noticed that when the process starts, it attempts to load a series of images (aka: DLLs):

More interestingly is that msvcr110.dll is the last "Image" that is being loaded.
Armed with another wiki that indicates 7z can detect the bitness of a file, I ran the following command:

7z l c:\windows\syswo64\msvcr110.dll | findstr CPU

What came out of the output shocked me.
My version of msvcr110.dll was built for ARM-NT!

But, how could this be? This is a fresh install of Windows 10.
I uninstalled every C++ runtime and re-installed them (the ones I had on the system).
I installed both the x86 and x64 versions of each.

Yet, this file and a few others like it (ex: msvcr110.dll, vccorlib110.dll) in that directory are of the ARM-NT variant!?!

After finding an x86 copy of that file, and replacing it in the c:\windows\syswow64 directory, my application now loads and executes as expected.

So the question remains: How can it be that I have ARM-NT built DLLs in a Windows 10 x64 install?!?

Windows for home | Windows 10 | Performance and system failures

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

2 answers

Sort by: Most helpful
  1. Anonymous
    2022-12-20T19:18:54+00:00

    Just checked on a win10 Pro system (Dell) file is from MS dated 10/03/20

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  2. Anonymous
    2022-12-20T21:24:21+00:00

    Thanks Palcouk.

    In my case, I no longer have the files in question. I simply replaced them, and my system is now working fine. We do install several drivers (belonging to 3rd parties) on these machines, and it is possible that something somewhere installed this file. It was just bizarre that I would have seen an ARM-NT file there - totally unexpected. Our other machines with similar images don't have this sort of thing on them (or at least they're not experiencing this issue), so I must admit that it left me scratching my head. In any case, I dropped this question here for selfish reasons mostly. One day after I've long forgotten, I will come back to it, and I hope that it helps someone who's looking for a solution in the meantime. :o)

    Was this answer helpful?

    0 comments No comments