Распространение библиотеки MFCRedistributing the MFC Library

Если вы динамически связываете приложение с библиотекой MFC, нужно повторно распространить соответствующую библиотеку DLL MFC.If you dynamically link your application to the MFC library, you must redistribute the matching MFC DLL. Например, если ваше приложение MFC собрано с использованием версии MFC, поставляемой с Visual Studio 2015, нужно повторно распространить mfc140.dll или mfc140u.dll в зависимости от того, компилируется ли приложение с поддержкой обычных символов или Юникода.For example, if your MFC app is built by using the version of MFC that ships with Visual Studio 2015, you must redistribute mfc140.dll or mfc140u.dll, depending on whether your app is compiled for narrow characters or Unicode support.

Примечание

В Visual Studio 2015 RTM файлы mfc140.dll были исключены из каталога распространяемых файлов.The mfc140.dll files were omitted from the redistributable files directory in Visual Studio 2015 RTM. Вместо этого вы можете использовать версии, установленные Visual Studio 2015 в каталогах Windows\system32 и Windows\syswow64.You can use the versions installed by Visual Studio 2015 in the Windows\system32 and Windows\syswow64 directories instead.

Так как все библиотеки DLL MFC используют общую версию библиотеки времени выполнения C (CRT), вам также может потребоваться повторно распространить CRT.Because all MFC DLLs use the shared version of the C runtime library (CRT), You may also need to redistribute the CRT. Версия MFC, поставляемая с Visual Studio 2015, использует универсальную библиотеку CRT, входящую в состав Windows 10.The version of MFC that ships with Visual Studio 2015 uses the universal CRT library, which is distributed as part of Windows 10. Чтобы запустить приложение MFC, собранное с использованием Visual Studio 2015 в более ранних версиях Windows, необходимо повторно распространить универсальную библиотеку CRT.To run an MFC application built by using Visual Studio 2015 on earlier versions of Windows, you must redistribute the Universal CRT. Сведения о повторном распространении универсальной библиотеки CRT в качестве компонента операционной системы или с помощью локального развертывания см. в разделе Знакомство с универсальной библиотекой CRT.For information on how to redistribute the universal CRT as an operating system component or by using local deployment, see Introducing the Universal CRT. Сведения о загрузке универсальной библиотеки CRT для центрального развертывания в поддерживаемых версиях Windows см. в разделе универсальная среда выполнения C Windows 10.To download the universal CRT for central deployment on supported versions of Windows, see Windows 10 Universal C Runtime. Распространяемые версии ucrtbase.dll под конкретную архитектуру для локального развертывания находятся в пакете Windows SDK.Redistributable architecture-specific versions of ucrtbase.dll for local deployment are found in the Windows SDK. По умолчанию Visual Studio устанавливает их в подкаталоге конкретной архитектуры внутри папки C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs.By default, Visual Studio installs these in C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\ in an architecture-specific sub-directory.

Если приложение создано с использованием более ранней версии библиотеки MFC, нужно повторно распространить соответствующую библиотеку DLL CRT из каталога распространяемых файлов.If your app is built by using an earlier version of the MFC library, you must redistribute the matching CRT DLL from the redistributable files directory. Например, если приложение MFC создано с помощью набора инструментов Visual Studio 2013 (vc120), нужно повторно распространить msvcr120.dll.For example, if your MFC application is built by using the Visual Studio 2013 (vc120) toolset, you must redistribute the msvcr120.dll. Кроме того, нужно повторно распространить соответствующий файл mfc<version>u.dll или mfc<version>.dll.You also have to redistribute the matching mfc<version>u.dll or mfc<version>.dll.

В случае статического связывания приложения с MFC (то есть при указании значения Использовать MFC в статической библиотеке на вкладке Общие диалогового окна Страницы свойств) повторно распространять библиотеку DLL MFC не требуется.If you statically link your application to MFC (that is, if you specify Use MFC in a Static Library on the General tab in the Property Pages dialog box), you do not have to redistribute an MFC DLL. Однако хотя статическое связывание может работать для тестирования и внутреннего развертывания приложений, мы не рекомендуем использовать его для повторного распространения MFC.However, although static linking may work for testing and internal deployment of applications, we recommend that you do not use it to redistribute MFC. Дополнительные сведения о рекомендуемых стратегиях развертывания библиотек Visual C++ см. в разделе Выбор метода развертывания.For more information about the recommended strategies for deploying Visual C++ libraries, see Choosing a Deployment Method.

Если приложение использует классы MFC, реализующие элемент управления WebBrowser (например, класс CHtmlView или класс CHtmlEditView), рекомендуется установить актуальную версию Microsoft Internet Explorer, чтобы на конечном компьютере были доступны самые новые файлы общих элементов управления.If your application uses the MFC classes that implement the WebBrowser control (for example, CHtmlView Class or CHtmlEditView Class), we recommend that you also install the most current version of Microsoft Internet Explorer so that the target computer will have the most current common control files. (Как минимум, требуется Internet Explorer 4,0.) Сведения об установке компонентов Internet Explorer см. в статье 185375: как создать единый исполняемый файл установки Internet Explorer на веб-сайте служба поддержки Майкрософт.(At a minimum, Internet Explorer 4.0 is required.) Information about how to install Internet Explorer components is available in "Article 185375: How To Create a Single EXE Install of Internet Explorer" on the Microsoft Support website.

Если в приложении используются классы баз данных MFC (например, CRecordset Class и CRecordView Class), нужно также повторно распространить ODBC и все драйверы ODBC, которые использует приложение.If your application uses the MFC database classes (for example, CRecordset Class and CRecordView Class), you must redistribute ODBC and any ODBC drivers that your application uses.

Если в приложении MFC используются элементы управления Windows Forms, вместе с приложением нужно повторно распространить файл mfcmifc80.dll.If your MFC application uses Windows Forms controls, you must redistribute mfcmifc80.dll with your application. Эта библиотека DLL является сборкой .NET, подписанной строгим именем, которую можно повторно распространить с помощью приложения в локальной папке приложения или развернуть в глобальном кэше сборок (GAC) с помощью Gacutil.exe (инструмент глобального кэша сборок).This DLL is a strong-name-signed .NET assembly that can be redistributed with an application in its application local folder or by deploying it to the Global Assembly Cache (GAC) by using the Gacutil.exe (Global Assembly Cache Tool).

При повторном распространении библиотеки DLL MFC следует убедиться, что повторно распространяется окончательная, а не отладочная версия.If you redistribute an MFC DLL, make sure to redistribute the retail version and not the debug version. Отладочные версии библиотек DLL непригодны для повторного распространения.Debug versions of the DLLs are not redistributable. Имена файлов отладочных версий библиотек DLL MFC заканчиваются символом d, например Mfc140d.dll.The names of debug versions of the MFC DLLs end with a "d", for example, Mfc140d.dll.

Повторно распространить MFC можно с помощью средства VCRedist_ архитектура.exe, модулей слияния, установленных вместе с Visual Studio, либо путем развертывания библиотеки DLL MFC в одной папке с приложением.You can redistribute MFC by using either VCRedist_ architecture.exe, merge modules that are installed with Visual Studio, or by deploying the MFC DLL to the same folder as your application. Дополнительные сведения о повторном распространении MFC см. в разделе Распространение файлов Visual C++.For more information about how to redistribute MFC, see Redistributing Visual C++ Files.

Установка локализированных компонентов MFCInstallation of Localized MFC Components

Если локализация приложения выполняется путем установки локализационной библиотеки DLL MFC, следует использовать распространяемые повторно файлы слияния (MSM).If you decide to localize your application by installing an MFC localization DLL, you must use the redistributable merge files (.msm). Например, для локализации приложения на компьютере x86 нужно включить файл Microsoft_VC<version>_MFCLOC_x86.msm в пакет установки для компьютера x86.For example, if you want to localize your application on an x86 computer, you must merge Microsoft_VC<version>_MFCLOC_x86.msm into the installation package for an x86 computer.

Распространяемые повторно MSM-файлы содержат библиотеки DLL, которые используются для локализации.The redistributable .msm files contain the DLLs that are used for localization. Для каждого поддерживаемого языка используется одна библиотека DLL.There is one DLL for each supported language. В процессе установки эти библиотеки DLL устанавливаются в папку %windir%\system32\ на конечном компьютере.The installation process installs these DLLs in the %windir%\system32\ folder on the target computer.

Дополнительные сведения о локализации приложений MFC см. в разделе TN057: локализация компонентов MFC.For more information about how to localize MFC applications, see TN057: Localization of MFC Components.

Локализационные библиотеки DLL MFC можно распространить повторно, развернув библиотеку DLL MFC в локальной папке приложения.You can redistribute MFC localization DLLs by deploying the MFC DLL in your application local folder. Дополнительные сведения о повторном распространении библиотек Visual C++ см. в разделе Распространение файлов Visual C++.For more information about how to redistribute Visual C++ libraries, see Redistributing Visual C++ Files.

См. также разделSee also

Распространение файлов Visual C++Redistributing Visual C++ Files