Purchasing a new system is always a cause for celebration. A shiny new desktop or laptop with top-of-the-line hardware and software technologies. Ideally, one would feel that all their computing problems are over now. However, this is never the case. A new system requires a proper spinning up period, and a period of initial setup to properly transition your files over. There are also going to be critical applications and files missing like there is likely to be a case of files like msvcr100.dll missing. These files are not installed by Windows initially.
Why are new systems not installed with every possible DLL and API?
There are infinite permutations of systems in the world. As one can see from a cursory glance at big stores like Amazon and Flipkart, and even in physical stores. There is no dearth of manufacturers that are building desktops and laptops today. The end-user is truly spoiled for choice. There are tens of manufacturers trying to cater to the various segments of the market while fulfilling their deals with various component manufacturers. This is why we find that laptop types are even further fragmented due to various factors like different Central Processing Units from manufacturers like Intel, AMD, etc, even if they are serving a similar niche.
Even if parts are different, the type of parts are also highly fragmented in the market, there are a lot of consumer segments from a laptop, from basic office work systems to highly advanced workstation replacement type systems with dedicated graphic processing units that are top of the shelf models from NVIDIA, added with tons of flash storage in the form of nVME solid-state drives that have an extremely high cost per byte of storage.
As a result of this high fragmentation, a company cannot be expected to install every kind of software on their systems, which is why one finds cases with msvcr100.dll missing.
Why are these files important anyway?
These DLL files are essential to use your system. They provide a way in which several basic sub functions are handled. These Dynamic Link Library files are often parts of Application Programming Interfaces.
For example, if one installs VLC Player or any similar media playback application. It would similarly leverage the video libraries to render and display the content for you on your screen. A common library for video playback is DirectX or sometimes mentioned as Direct3D, which exists in the form of various DLL Files like d3dx9.dll and so on.
Libraries are essential as they are common subsystems that applications can tap into. If each application had to use unique files such as this to tap into various subsystems, then development would be extremely inefficient, as each application would have to design its own proprietary drivers to do basic functions like outputting video and audio. Another issue would be that file sizes would get extremely bloated as basic functions would have to exist actually in some shape or form in every application.
As APIs get more and more specialised, installing every possible one will bloat up the system. What would the end-user do with DLLs of say, input APIS for joysticks, if all one wishes to do on their system is office work. Infinitely adding on files will just lead to system bloat which will likely crash the system. Hence, a new system does not come with every sort of DLL and API file out of the box, and cases relating to files like msvcr100.dll being missing arise.