Export (0) Print
Expand All

Determining Which DLLs to Redistribute

To determine which DLLs you have to redistribute with your application, collect a list of the DLLs that your application depends on. One way to collect the list is to run Dependency Walker (depends.exe), as described in Understanding Dependencies of a Visual C++ Application.

When you have the list of dependencies, compare it to the list in any Redist.txt file in the Microsoft Visual Studio 12.0 directory, or to the "REDIST list" of redistributable DLLs that is referenced in the "Distributable Code" section of the Microsoft Software License Terms for your copy of Visual Studio, in Distributable Code for Microsoft Visual Studio 2013 and Microsoft Visual Studio 2013 SDK. You cannot redistribute all of the files that are included in Visual Studio; you are only permitted to redistribute the files that are specified in Redist.txt or the online "REDIST list." Debug versions of applications and the various Visual C++ DLLs are not redistributable. For more information, see Choosing a Deployment Method.

The following table describes some of the Visual C++ DLLs that your application might depend on. To determine whether a DLL is redistributable, check Redist.txt or the online "REDIST list."

Visual C++ Library

Description

Applies to

msvcr120.dll

C Runtime Library (CRT) for native code.

Applications that use the CRT Library Features.

msvcp120.dll

Standard C++ Library for native code.

Applications that use the Standard C++ Library.

mfc120.dll

Microsoft Foundation Classes (MFC) Library.

Applications that use the MFC Library.

mfc120u.dll

MFC Library with Unicode support.

Applications that use the MFC Library and require Unicode support.

mfcmifc80.dll

MFC Managed Interfaces Library.

Applications that use the MFC Library with Windows Forms Controls.

mfcm120.dll

MFC Managed Library.

Applications that use the MFC Library with Windows Forms Controls.

mfcm120u.dll

MFC Managed Library with Unicode support.

Applications that use the MFC Library with Windows Forms Controls and require Unicode support.

For more information about how to redistribute these DLLs with your application, see Redistributing Visual C++ Files. For examples, see Deployment Examples.

Typically, you do not have to redistribute system DLLs (for example, Kernel32.dll, User32.dll, Ole32.dll, or ShDocVW.dll) because they are part of the operating system and are present on any computer that has the same version of the operating system. However, there might be exceptions, for example, when your application will run on several versions of Microsoft operating systems. In this case, be sure to read the corresponding license terms. Also, try to get the system DLLs upgraded either through service packs or by small redistributable packages made available by Microsoft. You may be able to locate available packages by searching on the Microsoft Support website.

Show:
© 2014 Microsoft