Solution to this Problem is very simple. But By just simply copying the missing dll in system32 folder or to the folder containing exe will not solve the problem. When you run your exe file dll loader search for the dll required by this file.It rather searching
dll directly it first read the manifest file of your exe this manifest file is a kind of map or protocol to tell which dll is to be loaded for your exe. If the information about the dll required by your exe is missing in manifest than dll loader will generate
error that following dll is missing.
Now before telling you how to solve this problem i would like to share some information regarding dll files and manifest. There are two types of dll public dll and private dll. Public dlls are installed in windows/winsxs folder these dll can be utilized
by any windows application. Private dlls are installed in the folder containing exe file. In windows structure it is preferred not to mix private dll with public dlls.So while installing application no private dll is installed in winsxs folder. Now dll loader
do not load dll directly whether it is private or public. It first reads set of instruction written in the manifest. Manifest is a kind of map or permission to the dll loader to load the dll.Each public dll is associated with its manifest file which is also
installed in winsxs folder. Now you need to add dependency of manifest of missing dll in your exe manifest. So dll loader will first read your exe manifest and then will read the missing dll's manifest and load the dll.