Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Начиная с Visual Studio .NET и заканчивая Visual Studio 2013 каждый основной выпуск инструментов и компилятора C++ содержал новую автономную версию библиотеки среды выполнения C (CRT) корпорации Майкрософт. Эти автономные версии CRT были независимыми друг от друга и в различной степени несовместимыми друг с другом. Например, библиотека CRT, используемая Visual Studio 2012, имела версию 11 и имя msvcr110.dll, а CRT в Visual Studio 2013 имела версию 12 и имя msvcr120.dll. Начиная с Visual Studio 2015, это уже не так. В Visual Studio 2015 и более поздних версиях используется одна универсальная CRT.
Универсальный CRT (UCRT) — это компонент операционной системы Microsoft Windows. Она входит в состав операционной системы в Windows 10 или более поздней версии и Windows Server 2016 или более поздней версии. UCRT доступен через Центр обновления Windows в старых операционных системах, которые по-прежнему находятся в расширенной поддержке. Локальное развертывание универсальной CRT поддерживается с некоторыми ограничениями.
Централизованное развертывание
Предпочитаемый способ централизованной установки универсальной CRT — использовать Центр обновления Microsoft Windows. Универсальная CRT является рекомендуемым обновлением для всех поддерживаемых операционных систем Microsoft Windows, поэтому многие компьютеры устанавливают ее по умолчанию в рамках обычного процесса обновления. Первоначальный выпуск универсальной CRT был KB2999226. Более поздние обновления с различными исправлениями ошибок были сделаны в KB3118401, и было больше обновлений с дальнейшими исправлениями ошибок и новыми функциями. Для получения дополнительных последних обновлений выполните поиск support.microsoft.com по запросу "Универсальная среда выполнения C" или "Универсальная CRT".
Не все компьютеры с Microsoft Windows регулярно получают обновления через Центр обновления Windows, а на некоторых могут устанавливаться не все рекомендуемые обновления. Для поддержки использования приложений, созданных с помощью наборов инструментов Visual Studio 2015 и более поздних версий C++ на этих компьютерах, доступны универсальные распространяемые файлы CRT для автономного распространения. Эти распространяемые файлы можно скачать по одной из приведенных выше ссылок базы знаний. Для универсального распространяемого пакета CRT требуется, чтобы компьютер был обновлен до текущего пакета обновления. Например, распространяемый пакет для Windows 7 будет устанавливаться только в Windows 7 с пакетом обновления 1 (SP1), но не в Windows 7 RTM.
Универсальная CRT — это фундаментальная зависимость библиотек C++. Распространяемый компонент Visual C++ (VCRedist) устанавливает начальную версию универсальной CRT (версия 10.0.10240) на компьютеры, где она еще не установлена. Эта версия достаточно для удовлетворения зависимостей библиотеки C++. Если приложение зависит от более последней версии универсальной CRT, необходимо использовать Обновл. Windows для полного обновления компьютера. Или установите такую версию UCRT явным образом. Перед установкой VCRedist рекомендуется установить универсальную среду выполнения C с помощью Обновления Windows или MSU. Этот порядок установки может помочь избежать нескольких обязательных перезагрузк.
Не все операционные системы подходят для установки самой новой универсальной среды выполнения C через Обновление Windows. В Windows 10 или Windows 11 централизованно развернутая версия соответствует версии операционной системы. Чтобы обновить универсальную среду выполнения C, необходимо обновить операционную систему. Для Windows Vista через Windows 8.1 последняя доступная универсальная среда выполнения C основана на юбилейном обновлении Windows 10 (версия 10.0.14393).
Локальное развертывание
Локальное развертывание универсальной CRT поддерживается, хотя и не рекомендуется по соображениям безопасности и производительности. Библиотеки DLL для локального развертывания включены в состав пакета SDK для Windows ( в подкаталоге Windows Kits\10\Redist\ucrt\DLLs ) по архитектуре компьютера. Необходимые библиотеки DLL включают ucrtbase.dll и набор пересылающих DLL для APISet api-ms-win-*.dll. Набор библиотек DLL, необходимых для каждой операционной системы, различается. Настоятельно рекомендуется включить все библиотеки DLL при локальном развертывании.
Для локального развертывания существует два ограничения, которые следует учитывать:
В Windows 10 и Windows 11 Universal CRT в системном каталоге всегда используется, даже если приложение содержит локальную копию Universal CRT. Это верно, даже если локальная копия более новая, так как универсальная версия CRT является основным компонентом операционной системы в Windows 10 и более поздних версиях.
Версии Windows до Windows 8: универсальная библиотека CRT не может быть упакована локально с подключаемым модулем, если она не находится в основном каталоге исполняемого файла приложения. Библиотеки DLL пересылки APISet не могут успешно устранить
ucrtbase.dllв этом случае. К рекомендуемым альтернативным способам относятся следующие.- Статическая компоновка универсальной CRT.
- Централизованно разверните универсальную CRT.
- Поместите такие файлы универсальной CRT в ту же папку, что и приложение.
Развертывание в Microsoft Windows XP
Наборы инструментов Visual Studio 2015 и Visual Studio 2017 продолжают поддерживать разработку программного обеспечения для использования в Microsoft Windows XP. Существует версия универсального CRT для Microsoft Windows XP. Операционная система Microsoft Windows XP больше не поддерживается в основной или расширенной поддержке. Таким образом, централизованное развертывание универсального CRT в Microsoft Windows XP отличается от других операционных систем.
Когда Распространяемый компонент Visual C++ установлен в Windows XP, он напрямую устанавливает универсальную CRT и все его зависимости в системный каталог. Он не установлен и не зависит от каких-либо обновлений Windows. Распространяемые модули слияния, файлы Microsoft_VC<version>_CRT_<target>.msm, делают то же самое.
Локальное развертывание универсальной CRT в Windows XP осуществляется так же, как и в других поддерживаемых операционных системах.
Внимание
Поддержка библиотеки выполнения для Windows XP больше недоступна в последних пакетах перенаправляемых библиотек Visual C++ для Visual Studio 2015, 2017, 2019 и 2022. Последний распространяемый компонент, поддерживающий Windows XP, — это версия 16.7 (версия файла 14.27.29114.0). Если приложения Windows XP развернуты или обновлены до более поздней версии распространяемого пакета, они не будут работать. Дополнительные сведения и сведения о том, как получить версию распространяемого компонента, поддерживающую Windows XP, см. в разделе "Настройка программ для Windows XP".