When you build an application with Visual C++, the resulting executable file (e.g., .exe ) depends on the Visual C++ runtime libraries to function correctly. If the Visual C++ End User Runtime is not installed on the system, the application will not run, and you may see an error message indicating that a required DLL is missing.
When you install a game or a tool like Photoshop, it doesn't include the entire C++ language. Instead, it expects your computer to already have these installed so it can "call" on them whenever it needs to perform a task. Why Are There So Many Versions?
| Library | Purpose | Critical Exports | | :--- | :--- | :--- | | vcruntime140.dll | Compiler support (SEH, C++ new/delete , TLS) | _CxxFrameHandler4 , __std_terminate | | vcruntime140_1.dll | Spectre-mitigated variants (if built with /Qspectre ) | memcpy guarded versions | | ucrtbase.dll | Standard C library (stdio, math, locale) | printf , malloc , strlen | | msvcp140.dll | C++ Standard Library (iostreams, containers, algorithms) | std::ios_base::Init , std::_Container_base12 | | vccorlib140.dll | C++/CX (WinRT) support | Platform::Object |
| Strategy | Mechanism | Security | Disk Footprint | Reliability | | :--- | :--- | :--- | :--- | :--- | | | Run vc_redist.x64.exe as prerequisite | High (Windows Update patches) | Low (shared) | Medium (Requires admin rights) | | Private (App-local) | Copy DLLs to app folder | Low (No patches) | High (per app) | High (No missing dependencies) | | Merge Module (MSI) | Embed .msm into installer | Medium | Medium | Low (MSI transaction failures) |
Originally, runtime DLLs ( msvcrt.dll ) lived in %SystemRoot%\System32 . Multiple applications overwrote the same global file. This caused the infamous "DLL Hell" where a new app would break an old app by replacing msvcrt.dll with an incompatible version.
Рекламно-полиграфический комплекс «Оптполиграф» предлагает создавать визитку онлайн на сайте, в бесплатном конструкторе визиток. В базе 189 вариантов дизайна визитных карточек, и картотека постоянно пополняется.
When you build an application with Visual C++, the resulting executable file (e.g., .exe ) depends on the Visual C++ runtime libraries to function correctly. If the Visual C++ End User Runtime is not installed on the system, the application will not run, and you may see an error message indicating that a required DLL is missing.
When you install a game or a tool like Photoshop, it doesn't include the entire C++ language. Instead, it expects your computer to already have these installed so it can "call" on them whenever it needs to perform a task. Why Are There So Many Versions?
| Library | Purpose | Critical Exports | | :--- | :--- | :--- | | vcruntime140.dll | Compiler support (SEH, C++ new/delete , TLS) | _CxxFrameHandler4 , __std_terminate | | vcruntime140_1.dll | Spectre-mitigated variants (if built with /Qspectre ) | memcpy guarded versions | | ucrtbase.dll | Standard C library (stdio, math, locale) | printf , malloc , strlen | | msvcp140.dll | C++ Standard Library (iostreams, containers, algorithms) | std::ios_base::Init , std::_Container_base12 | | vccorlib140.dll | C++/CX (WinRT) support | Platform::Object |
| Strategy | Mechanism | Security | Disk Footprint | Reliability | | :--- | :--- | :--- | :--- | :--- | | | Run vc_redist.x64.exe as prerequisite | High (Windows Update patches) | Low (shared) | Medium (Requires admin rights) | | Private (App-local) | Copy DLLs to app folder | Low (No patches) | High (per app) | High (No missing dependencies) | | Merge Module (MSI) | Embed .msm into installer | Medium | Medium | Low (MSI transaction failures) |
Originally, runtime DLLs ( msvcrt.dll ) lived in %SystemRoot%\System32 . Multiple applications overwrote the same global file. This caused the infamous "DLL Hell" where a new app would break an old app by replacing msvcrt.dll with an incompatible version.