We recommend using Visual Studio 2017

Building C/C++ Isolated Applications and Side-by-side Assemblies


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

For the latest documentation on Visual Studio 2017, see Building C/C++ Isolated Applications and Side-by-side Assemblies on docs.microsoft.com. Visual C++ supports a deployment model for Windows client applications based on the idea of isolated applications and side-by-side assemblies. By default, Visual C++ builds all native C/C++ applications as isolated applications that use manifests to describe their dependencies on Visual C++ libraries.

Building C/C++ programs as isolated applications presents a range of advantages. For example, an isolated application is unaffected when other C/C++ applications install or uninstall Visual C++ libraries. Visual C++ libraries used by isolated applications may still be redistributed in either the application's local folder, or by installation to the native assembly cache (WinSxS); however, servicing of Visual C++ libraries for already deployed applications can be simplified by using a publisher configuration file. The isolated application deployment model makes it easier to ensure that C/C++ applications that are running on a specific computer use the most recent version of Visual C++ libraries, while still leaving open the possibility for system administrators and application authors to control explicit version binding of applications to their dependent DLLs.

This section discusses how you can build your C/C++ application as an isolated application and ensure that it binds to Visual C++ libraries using a manifest. The information in this section primarily applies to native, or unmanaged, Visual C++ applications. For information about deploying native applications built with Visual C++, see Redistributing Visual C++ Files.

Concepts of Isolated Applications and Side-by-side Assemblies

Building C/C++ Isolated Applications

Building C/C++ Side-by-side Assemblies

How to: Build Registration-Free COM Components

How to: Build Isolated Applications to Consume COM Components

Understanding Manifest Generation for C/C++ Programs

Troubleshooting C/C++ Isolated Applications and Side-by-side Assemblies

Isolated Applications and Side-by-side Assemblies

Deploying Desktop Applications