The PROPER way to fix msvcr100.dll, msvcr100d.dll or d3dx9_*.dll errors.
Well, I see that a lot of people here 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.
Note about missing DLLs ending with a 'D'
This means whoever coded the application/hack didn't build it in Release mode meaning you'll have problems running it if you aren't a programmer. The only way (which I said not to do before) is to find the DLL manually on the internet and place it into the C:\Windows\system32 folder. I am not responsible for anything that happens when you do this though. You can find some of them here.
If you are getting mscvr110.dll or msvcp110.dll errors, install the Visual Studio C++ Redistributable 2012. You can find it here: http://www.microsoft.com/en-us/downl....aspx?id=30679
Make sure to DELETE any msvcr100.dll or msvcr100d.dll files from your system folder.
If you are asked to repair the installation, do it.
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)
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.
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.
The following are the respective numbers of each Visual Studio software version: