It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
On my Windows 10 computer, WH40K:DoW refused to start, showing this error message:

---------------------------
W40k.exe - Application Error
---------------------------
The application was unable to start correctly (0xc000007b). Click OK to close the application.
---------------------------
OK
---------------------------

This saddened and confused me, since I already installed multiple Microsoft Visual C++ Redistributable for various versions of Visual Studio, and I played games both old and new without issues. Turns out I was missing a specific one, and I want to document a robust way to figure out which - for people encountering the 0xc000007b error on this or other old games.

BTW - as far as I can tell, you cannot mark own answers as solutions, and it would be nice for this to appear as [SOLVED], so if someone confirms this works and posts an answer saying as much, I'll mark it as correct.

So, the easiest approach:
If you want to install EVERYTHING, just hit every download link on https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170
Installing every single version, both in x86 and x64 versions, has a good chance of resolving the `0xc000007b` error.
See the post below for a much longer version - finding out which `.dll` files are needed for a particular `.exe` :)
For Dawn of War, what was missing was the 32-bit (x86) version of https://www.microsoft.com/en-us/download//details.aspx?id=48145 - the 2015 runtime.
Post edited February 26, 2024 by 3m1lAtGog
This question / problem has been solved by QWEEDDYZimage
There is un-official repacks of many versions at one i staller.
And for 2 years there is official repack. Cant say where i saw it... Steam Common Redists i guess. So should be some single file on MS too. Or two for x64 OS. And few hotfixes from W.Update. Still inthink some specific version can be missed - but should be enough for most apps. Maybe PCGW have more links. Microsoft is not good source - they often remove files on download links to reduce support for leagcy OS or applications (including major updates on Catalogue Windows Update com)
I saw a repack like what you are talking about in https://www.reddit.com/r/pcgamingtechsupport/comments/vky73k/how_to_fix_the_0xc000007b_error_in_games_ultimate/ - the Mediafire link. I am, naturally, wary of dumping a ton of untrusted files into my system ;)

Anyway, what I did was check which DLLs the `W40k.exe` needs EXACTLY, using the Total Commander `fileinfo` plugin. Instructions follow for this - if anyone wants to learn a new skill ;)

First, install Total Commander from https://www.ghisler.com/download.htm - it's an ancient (but still developed!) piece of software, from back when users viewed Windows filesystem directly, instead of via convenient abstractions like My Documents ;)
You can use it for free in Shareware mode. However, if you find it useful (like I do), I highly recommend you pay for it.
When you start it for the first time, it's going to show you a configuration dialog with tons of options. Defaults are acceptable if you don't want to spend time figuring out everything, and you can change settings later.
Long story short, you navigate directories with either keyboard or mouse, and can perform "operations" on either the file under the cursor or the ones in selection (either Space or Shift + arrows modify selection).
Operations are by default listed at the bottom of the window - `F3` is for "viewing" a file, `F5` for copying etc.

Then, add the `fileinfo` viewer plugin from http://fg.tcplugins.free.fr/fileinfo.htm
The `wlx_fileinfo223.zip` has 4 versions of the plugin zipped into it. On 64-bit Windows the `wlx_fileinfo64.zip` version is a good bet.
Total Commander has built-in packers and unpackers (to extract files from `wlx_fileinfo223.zip`) and recognizes its packed plugins (so it will ask you if you want to install `fileinfo` if you press Enter on `wlx_fileinfo64.zip`).
Oh, when you use (un)packers for the first time (e.g. navigate to inside the .zip file and F5 to extract things from inside it), it's going to show you configuration options again - and defaults are perfectly acceptable here.

OK, so what this setup does is (aside from a ton of other file management things) it allows you to view detailed information hidden inside an executable file.
That includes a list of DLLs it requires to run, so that you can figure out which one is missing. Of course, it would be nice if Windows was able to show you exactly that in the error message, instead of 0xc000007b, but we can't expect Microsoft to think about user experience, when it has to work so hard selling your data.

ANYWAY! Navigate to `c:\GOG Games\Warhammer 40,000 Dawn of War - Master Collection\`, set your cursor on `W40k.exe`, and press `F3`.
Of course, if you are trying to debug a `0xc000007b` crash for another game, you need to find the main executable for that one - you can check what the shortcuts from your Desktop or Start Menu are pointing to.
If everything went well, you will see a window with multiple tabs, showing you "File Properties" of the game - e.g. that it's signed by Sega and the declared version is 1.4.0.0 or similar.
You need to click on the `Dll Dependency` tab, and you will see something like the attached picture :)

It's a mix of game's own libraries (in the same directory as game) and shared ones, mostly in `c:\Windows\SYSTEM32`. BTW, that path is misleading a bit - 64-bit Windows will dynamically serve 32-bit files from `SysWOW64` for 32-bit applications...but that's not important right now.
We are most interested in files starting with `MSVCP`, since these are parts of MS Visual C++ Runtime, notorious for being absent in _that one particular version_ and causing crashes. In case of `W40K.exe`, it declares dependency on `MSVCP140.dll`. Other games might list e.g. `MSVCP110.dll` or `MSVCP120.dll`.
And that's pretty much it! Just search the web for `MSVCP140.dll`, and you will get links to installation packages from Microsoft...and a ton of other shady sides. Quick map:

msvcp60.dll -> Visual C++ 6.0 (ancient, from 1998 - I wouldn't be surprised if these games didn't run outside Win98 compatibility mode)
msvcp70.dll -> Visual C++ .NET 2002
msvcp80.dll -> Visual C++ 2005 (VC++ 8.0)
msvcp90.dll -> Visual Studio 2008 (VC++ 9.0)
msvcp100.dll -> Visual Studio 2010 (VC++ 10.0)
msvcp110.dll -> Visual Studio 2012 (VC++ 11.0)
msvcp120.dll -> Visual Studio 2013 (VC++ 12.0)
msvcp130.dll -> I'm not sure if it's a thing? if you see this, your computer might be cursed
msvcp140.dll -> Visual C++ Redistributable for Visual Studio 2015-2022 (so-called "latest")
Attachments:
Post edited February 26, 2024 by 3m1lAtGog