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

Примечание

Вы находитесь здесь, так как ищете скачивание одного из файлов среды выполнения Visual C++? Перейдите на страницу последних поддерживаемых Распространяемый компонент Visual C++ скачивания.

Распространяемые файлы и лицензирование

При развертывании приложения необходимо также развернуть файлы, поддерживающие это приложение. Если какой-либо из этих файлов предоставляется корпорацией Майкрософт, проверьте, разрешено ли повторно распространять их. Вы найдете ссылку на условия лицензии Visual Studio в интегрированной среде разработки. Используйте ссылку "Условия лицензии" в диалоговом окне "О Microsoft Visual Studio". Также можно скачать соответствующие EULA и лицензии из каталога лицензий Visual Studio.

Чтобы просмотреть список REDIST, на который ссылается раздел "Распространяемый код" Visual Studio 2022 условия лицензионного соглашения на использование программного обеспечения Майкрософт, см. раздел "Файлы распространяемого кода" для Microsoft Visual Studio 2022 г.

Чтобы просмотреть список REDIST, на который ссылается раздел "Распространяемый код" условий лицензионного соглашения на Visual Studio 2019 г., см. раздел "Файлы распространяемого кода" для Microsoft Visual Studio 2019 г.

Чтобы просмотреть список REDIST, на который ссылается раздел "Распространяемый код" Visual Studio 2017 условий лицензионного соглашения на использование программного обеспечения Майкрософт, см. раздел "Файлы распространяемого кода" для Microsoft Visual Studio 2017 года.

Чтобы просмотреть список REDIST, на который ссылается раздел "Распространяемый код" Visual Studio 2015 условий лицензионного соглашения на использование программного обеспечения Майкрософт, см. раздел "Файлы распространяемого кода" для Microsoft Visual Studio 2015 года.

Дополнительные сведения о распространяемых файлах см. в разделе "Определение библиотек DLL для распространения и примеров развертывания".

Поиск распространяемых файлов

Для развертывания распространяемых файлов можно использовать распространяемые пакеты, установленные Visual Studio. В версиях Visual Studio с 2017 года эти файлы называются vc_redist.arm64.exeи vc_redist.x64.exevc_redist.x86.exe. В Visual Studio 2015, 2017 и 2019 годах они также доступны под именамиvcredist_x86.exe, vcredist_x64.exeи (только 2015). vcredist_arm.exe

Самый простой способ найти распространяемые файлы — использовать переменные среды, заданные в командной строке разработчика. В Visual Studio 2022 распространяемые файлы находятся в папке%VCINSTALLDIR%Redist\MSVC\v143. В последней версии Visual Studio 2019 вы найдете распространяемые файлы в папке%VCINSTALLDIR%Redist\MSVC\v142. В Visual Studio 2017 и Visual Studio 2019, они также находятся в %VCToolsRedistDir%. В Visual Studio 2015 эти файлы можно найти в %VCINSTALLDIR%redist\<locale><locale> расположении языкового стандарта распространяемых пакетов.

В Visual Studio 2022 и 2019 файлы модулей слияния являются частью дополнительно устанавливаемого компонента с именем распространяемых MSM версии> C++ < в Visual Studio Installer. Модули слияния устанавливаются по умолчанию как часть установки C++ в Visual Studio 2017 и Visual Studio 2015. При установке в Visual Studio 2022 вы найдете распространяемые модули слияния в %VCINSTALLDIR%Redist\MSVC\v143\MergeModules. В последней версии Visual Studio 2019 распространяемые модули слияния находятся в %VCINSTALLDIR%Redist\MSVC\v142\MergeModules. В обоих Visual Studio 2019 и Visual Studio 2017 года они также находятся в %VCToolsRedistDir%MergeModules. В Visual Studio 2015 года они находятся в Program Files [(x86)]\Common Files\Merge Modules.

Установка распространяемых пакетов

Распространяемые пакеты Visual C++ позволяют устанавливать и регистрировать все библиотеки Visual C++. Если вы используете его, запустите его в качестве необходимого компонента в целевой системе перед установкой приложения. Рекомендуется использовать эти пакеты для развертываний, поскольку они включают функцию автоматического обновления библиотек Visual C++. Пример использования этих пакетов см. в разделе Пошаговое руководство. Развертывание приложения Visual C++ с помощью распространяемого пакета Visual C++.

Каждый пакет Распространяемый компонент Visual C++ проверяет наличие более новой версии на компьютере. Если найдена более поздняя версия, пакет не будет установлен. В Visual Studio 2015 или более поздней версии распространяемые пакеты отображают сообщение об ошибке о том, что установка завершилась сбоем. Если пакет выполняется с помощью флага /quiet , сообщение об ошибке не отображается. В любом случае ошибка записывается установщиком Майкрософт, а результат ошибки возвращается вызывающему объекту. В Visual Studio 2015 и более поздних версиях эту ошибку можно избежать, проверив реестр, чтобы узнать, установлена ли более поздняя версия. Текущий установленный номер версии хранится в HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|ARM} ключе. Номер версии — 14.0 для Visual Studio 2015, 2017, 2019 и 2022, так как последняя распространяемая версия совместима с предыдущими версиями еще до 2015 года. Ключ — это ARM, x86или x64 в зависимости от установленных версий vcredist для платформы. (Необходимо проверить Wow6432Node подключ только в том случае, если вы используете Regedit для просмотра версии установленного пакета x86 на платформе x64.) Номер версии хранится в строковом значении REG_SZVersion, а также в наборе значений Major, MinorBldи RbldREG_DWORD значений. Чтобы избежать ошибки во время установки, необходимо пропустить установку распространяемого пакета, если текущая установленная версия более поздняя.

Установка распространяемых модулей слияния

Важно!

Модули слияния (.msmфайлы) для Распространяемый компонент Visual C++ файлов устарели. Мы не рекомендуем использовать их для развертывания приложений. Вместо этого рекомендуется централизованное развертывание пакета Распространяемый компонент Visual C++. Централизованное развертывание распространяемым пакетом позволяет корпорации Майкрософт обслуживать файлы библиотеки среды выполнения независимо. Кроме того, удаление приложения не может повлиять на другие приложения, которые также используют централизованное развертывание. При использовании распространяемого пакета для централизованного развертывания вы не несете ответственности за отслеживание и обслуживание библиотек среды выполнения. В противном случае обновление файлов библиотеки среды выполнения требует обновления и повторного развертывания установщика .msi . Ваше приложение может быть уязвимо к ошибкам или проблемам безопасности до тех пор, пока вы не сделаете это.

Распространяемые модули слияния должны быть включены в пакет установщика Windows (или аналогичный пакет установки), используемый для развертывания приложения. Дополнительные сведения см. в разделе "Распространение с помощью модулей слияния". Пример см. в пошаговом руководстве. Развертывание приложения Visual C++ с помощью проекта установки.

Установка отдельных распространяемых файлов

Также можно напрямую установить распространяемые библиотеки DLL в локальной папке приложения. Локальная папка приложения — это папка, содержащая исполняемый файл приложения. По соображениям обслуживания мы не рекомендуем использовать это расположение установки.

Потенциальные ошибки во время выполнения

Если Windows не удается найти одну из библиотек DLL распространяемой библиотеки, необходимых вашему приложению, может отобразиться примерно следующее сообщение: "Не удалось запустить это приложение, так как библиотека.dll не найдена. Переустановка приложения может устранить эту проблему".

Чтобы устранить эту ошибку, убедитесь, что установщик приложения выполняет сборку правильно. Убедитесь, что распространяемые библиотеки правильно развернуты в целевой системе. Дополнительные сведения см. в разделе Основные сведения о зависимостях приложения Visual C++.

Распространение с помощью модулей слияния
Описывает, как использовать модули слияния Распространяемый компонент Visual C++ для установки библиотек среды выполнения Visual C++ в качестве общих библиотек DLL в папке%windir%\system32\.

Распространение элементов управления ActiveX в Visual C++
Описание процедуры повторного распространения приложения, которое использует элементы управления ActiveX.

Распространение библиотеки MFC
Описание процедуры повторного распространения приложения, которое использует MFC.

Повторное распространение приложения ATL
Описание способа распространения приложения, которое использует ATL. В Visual Studio 2012 и более поздних версиях библиотека ATL не требуется.

Примеры развертывания
Ссылки на примеры, демонстрирующие развертывание приложений Visual C++.

Развертывание классических приложений
Представлены технологии развертывания Visual C++ и связанные понятия.