If we talk about "normal" Desktop applications, not
"Microsoft Store" crap, then: No!
have to take care of installing
the Visual C++ Runtime, and maybe other 3rd-party dependencies, that are needed to run your application, on the user's machine. Microsoft offers "Redistributable" packages, which you can ship to the end-user alongside with your application, for exactly that purpose:
On Windows, applications are usually distributed as an installer
). So, the Visual C++ Runtime can simply be included in the application's installer. Note that you can invoke the Visual C++ Runtime installer from your "main" installer in a way that it runs in the background and requires no
When games are installed through a "launcher" application, such as Steam
or Epic Launcher
, things are a bit different. There will be some kind of "first run" setup procedure, when you start the game for the first time
. During this "first run" setup procedure, the required dependencies, e.g. Visual C++ Runtime or DirectX Runtime, are installed on the local machine. This all is handled by the "launcher" application, not
by the game itself!
(Take care: The "debug" version of the Visual C++ Runtime is not
For example, if you build your installer with NSIS
, then you can include (embed) the Visual C++ Runtime installer in your
"main" installer, and automatically invoke it during the installation process, like this:
Section "Visual Studio Runtime"
ExecWait '"$INSTDIR\vcredist_x86.exe" /install /quiet'
This will extract
to the installation directory, invoke it with the required arguments, wait for the sub-process (Visual C++ Runtime installer) to finish, and finally delete
BTW: I much recommend to use a tool like Dependencies
to figure out which dependencies your application actually has. Any dependencies, which are not standard
Windows system DLLs, must be redistributed!