Поделиться через


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

Примечание.

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

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

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

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

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

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

Чтобы просмотреть "список REDIST", на который ссылается раздел "Распространяемый код" в условиях лицензии на программное обеспечение Майкрософт для Visual Studio 2017, см. статью Distributable code files for Майкрософт Visual Studio 2017.

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

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

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

Для развертывания распространяемых файлов можно использовать распространяемые пакеты, установленные Visual Studio. В версиях Visual Studio с 2017 года эти файлы называются vc_redist.arm64.exe, vc_redist.x64.exe и vc_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 файлы модулей слияния являются частью дополнительных устанавливаемых компонентов с именем Visual C++ <version> распространяемых модулей слияния в установщике 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\Майкрософт\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64}.

Номер версии — 14.0 для Visual Studio 2015, 2017, 2019 и 2022, так как последняя распространяемая версия совместима с предыдущими версиями до 2015 года. Ключ — это arm64, x86или x64 в зависимости от установленных vcredist версий для платформы. (Чтобы просмотреть версию установленного x86 пакета на x64 платформе с помощью Regedit, необходимо проверить именно в подразделе Wow6432Node.)

Номер версии хранится в строковом REG_SZ значенииVersion, а также в наборе Major, MinorBldи RbldREG_DWORD значений. Чтобы избежать ошибки во время установки, необходимо пропустить установку распространяемого пакета, если текущая установленная версия является более последней.

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

Пакет Visual C++ Redistributable поддерживает различные параметры командной строки. Опции /?, /h или /help отображают диалоговое окно, в котором перечислены доступные параметры. Можно указать /install , чтобы установить, /repair восстановить или /uninstall удалить распространяемый компонент. Параметр /layout копирует полное содержимое пакета Redistributable в текущий каталог.

По умолчанию распространяемый компонент устанавливает его содержимое и запрашивает у пользователя сведения и необходимость перезапуска после установки. Это поведение можно изменить с помощью следующих параметров:

  • /passive: отображает индикатор выполнения во время установки Redistributable, но в остальном не требует взаимодействия с пользователем.
  • /quiet: не отображает пользовательский интерфейс или не требует взаимодействия с пользователем. Используйте /quiet для полностью неавтономных установок.
  • /norestart: подавляет любые попытки перезапуска. По умолчанию файл журнала создается в %TEMP%.
  • /log filename.txt для входа в определенный файл.

Если вы не работаете из командной строки с повышенными привилегиями, вам потребуется ответить на запрос управления учетными записями пользователей, чтобы разрешить установщику работать с правами администратора.

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

vc_redist.x64.exe /install /passive /norestart

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

Внимание

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

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

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

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

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

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

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

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