In the Combat Arms section, I see that a lot of people get the problem of missing msvcr100.dll, msvcr100d.dll, msvcp100.dll or d3dx9_*.dll errors. There are many ways to fix them but one of the most common is to Google the file name and just download the file from the internet from DLL sites. This can be dangerous as you might be downloading the wrong one and you could make your system unstable.

What does msvcr100d and msvcp100 mean?

  • MS = Microsoft
  • V = Visual
  • C = C or CP = C++
  • R = Runtime
  • 100 = Version
  • D = Debug

How do I do it properly and safely?

  • Use Microsoft’s official installers/redistributables to fix these problems.

Where can I find them?

Make sure to DELETE any msvcr100.dll or msvcr100d.dll files from your Combat Arms folder.

To fix any d3dx9_*.dll errors, use the DirectX Web Installer and make sure to install optional components.

How do I know if I’m running a 32-bit or 64-bit OS?

Please follow the instructions for your OS. (These were taken from Microsoft Support)

Windows Vista/7

  • 1. Click Start , type system in the Start Search box, and then click system in the Programs list.
  • 2. When System Summary is selected in the navigation pane, the operating system is displayed as follows:
    • For a 64-bit version operating system: 64-bit Operating System appears for the System type under System.
    • For a 32-bit version operating system: 32-bit Operating System appears for the System type under System.

Windows XP

  • 1. Click Start, and then click Run.
  • 2. Type sysdm.cpl, and then click OK.
  • 3. Click the General tab. The operating system is displayed as follows:
    • For a 64-bit version operating system: Windows XP Professional x64 Edition Version < Year> appears under System.
    • For a 32-bit version operating system: Windows XP Professional Version <Year> appears under System.

Note: <Year> is a placeholder for a year.

I’m a coder, how can I prevent this from happening to people when they use my hacks?
If you are a coder and use Visual Studio 2010 or Visual C++ 2010 Express, you should tell users to install the redistributable before using the hack. You can also ‘statically link’ the DLLs required so the user doesn’t need to install anything at all! It basically embeds the data required inside your hack.

EDIT – If you are using Visual Studio 2012, make sure to change the Platform Toolkit via the Project Properties to Visual Studio 2012 (v100) otherwise it will NOT work for users on Windows XP! Click here for an image.

How to statically link the DLLs:

  • 1. In Visual Studio, right-click on your project and click Properties.
  • 2. Change the Configuration to Release (at the top).
  • 3. Click on Configuration Properties > C/C++ > Code Generation
  • 4. Change the Runtime Library option to Multi-threaded (/MT)
  • 5. Click OK and rebuild your project (right-click on your project and click Rebuild). The new copy of your hack should be in your project’s Release folder.

Why would I want to change the configuration from Debug to Release?

Firstly, most computers do not have the Debug version of the DLL (msvcr100d.dll). It’s recommended that you release all your hacks in Release mode (make sense right?). It will also remove some safety stuff that’s only required during testing and will generally improve the speed/performance of your hack because the compiler often optimises the code more. The same thing even applies to applications coded in .NET, the only difference is you can’t statically link anything.

Do you like this post? Add to Favorites