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

Примечание.

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

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

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

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

Чтобы просмотреть список "REDIST", на который ссылается раздел "Распространяемый код" условий лицензионного соглашения Microsoft 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. Модули слияния устанавливаются по умолчанию в рамках установки 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|arm64} ключе. Номер версии — 14.0 для Visual Studio 2015, 2017, 2019 и 2022, так как последняя распространяемая версия совместима с предыдущими версиями до 2015 года. Ключ — это arm64, x86или x64 в зависимости от установленных версий vcredist для платформы. (В подразделе необходимо проверка Wow6432Node только в том случае, если вы используете Regedit для просмотра версии установленного пакета x86 на платформе x64.) Номер версии хранится в строковом REG_SZ значенииVersion, а также в наборе Major, MinorBldи RbldREG_DWORD значений. Чтобы избежать ошибки во время установки, необходимо пропустить установку распространяемого пакета, если текущая установленная версия является более последней.

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

Распространяемый компонент Visual C++ поддерживает несколько параметров командной строки. /h/help Откроется /?всплывающее диалоговое окно , в котором перечислены доступные параметры. Можно указать /install установку, /repair восстановление или /uninstall удаление распространяемого файла. Параметр /layout копирует полное содержимое распространяемого файла в текущем каталоге. По умолчанию распространяемый компонент устанавливает его содержимое и запрашивает у пользователя сведения и необходимость перезапуска после установки. Можно указать /passive параметр, который отображает ход выполнения, но в противном случае не требует взаимодействия с пользователем. Можно также указать /quiet параметр, который не отображает пользовательский интерфейс или требует взаимодействия с пользователем. Параметр /norestart подавляет любые попытки перезапуска. По умолчанию файл журнала создается в %TEMP%. Можно использовать /log filename.txt для входа в определенный файл.

В этом примере команда устанавливает распространяемый компонент x64. Он показывает ход установки, но не требует взаимодействия с пользователем или перезапуска:

vc_redist.x64.exe /install /passive /norestart

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

Важно!

Модули слияния (.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++ и связанные понятия.