Windows update for universal c runtime is required что делать
Update for Universal C Runtime in Windows
This article describes an update for Universal C Runtime (CRT) in Windows. Before you install this update, see the prerequisites section. For more information, see Introducing the Universal CRT.
About this update
The Windows 10 Universal CRT is a Windows operating system component that enables CRT functionality on the Windows operating system. This update allows Windows desktop applications that depend on the Windows 10 Universal CRT release to run on earlier Windows operating systems.
Microsoft Visual Studio 2015 creates a dependency on the Universal CRT when applications are built by using the Windows 10 Software Development Kit (SDK). You can install this update on earlier Windows operating systems to enable these applications to run correctly.
This update applies to the following operating systems:
Windows Server 2012 R2
Windows Server 2012
Windows Server 2008 R2 Service Pack 1 (SP1)
Windows Server 2008 Service Pack 2 (SP2)
How to obtain this update
Method 1: Windows Update
This update is provided as a Recommended update on Windows Update. For more information about how to run Windows Update, see How to get an update through Windows Update.
Method 2: Microsoft Download Center
The following files are available for download from the Microsoft Download Center.
All supported x86-based versions of Windows 8.1
Download the package now.
All supported x64-based versions of Windows 8.1
Download the package now.
All supported x64-based versions of Windows Server 2012 R2
Download the package now.
All supported x64-based versions of Windows Server 2012
Download the package now.
All supported x86-based versions of Windows 7
Download the package now.
All supported x64-based versions of Windows 7
Download the package now.
All supported x64-based versions of Windows Server 2008 R2
Download the package now.
All supported x86-based versions of Windows Vista
Download the package now.
All supported x64-based versions of Windows Vista
Download the package now.
All supported x86-based versions of Windows Server 2008
Download the package now.
All supported x64-based versions of Windows Server 2008
Download the package now.
Note The update for Windows RT 8.1 can be downloaded only from Windows Update.
For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591 How to obtain Microsoft support files from online services Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.
Update detail information
Prerequisites
Registry information
To apply this update, you don’t have to make any changes to the registry.
Restart requirement
You may have to restart the computer after you apply this update.
Update replacement information
This update doesn’t replace a previously released update.
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the «Applies to» section.
References
See the terminology that Microsoft uses to describe software updates.
Обновление кода для универсальной среды выполнения Upgrade your code to the Universal CRT
В Visual Studio 2015 был выполнен рефакторинг библиотеки времени выполнения Майкрософт C (CRT). In Visual Studio 2015, the Microsoft C Runtime Library (CRT) was refactored. Расширения стандартной библиотеки C, POSIX и характерные для Майкрософт функции были перемещены в новую библиотеку — библиотеку универсальной среды C (универсальной CRT или UCRT). The Standard C Library, POSIX extensions and Microsoft-specific functions, macros, and global variables were moved into a new library, the Universal C Runtime Library (Universal CRT or UCRT). Компоненты компилятора были перемещены в новую библиотеку vcruntime. The compiler-specific components of the CRT were moved into a new vcruntime library.
UCRT теперь является компонентом Windows и поставляется в составе Windows 10. The UCRT is now a Windows component, and ships as part of Windows 10. UCRT поддерживает стабильные соглашения о вызовах ABI на основе C и более точно соответствует стандарту ISO C99 с несколькими исключениями. The UCRT supports a stable ABI based on C calling conventions, and it conforms closely to the ISO C99 standard, with only a few exceptions. UCRT больше не привязана к конкретной версии компилятора. It is no longer tied to a specific version of the compiler. UCRT можно использовать в любой версии Windows, поддерживаемой Visual Studio 2015 или Visual Studio 2017. You can use the UCRT on any version of Windows supported by Visual Studio 2015 or Visual Studio 2017. Преимущество в том, что больше не требуется обновлять сборки для соответствия новой версии CRT при каждом обновлении Visual Studio. The benefit is that you no longer need to update your builds to target a new version of the CRT with every upgrade of Visual Studio.
После такого рефакторинга изменились имена или расположения многих файлов заголовков CRT, файлов библиотек и распространяемых компонентов, а также методы развертывания, необходимые для кода. With this refactoring, the names or locations of many CRT header files, library files, and redistributables, and the deployment methods required for your code have changed. Кроме того, в UCRT были добавлены или изменены многие функции и макросы в целях улучшения соответствия стандартам. In addition, many functions and macros in the UCRT were added or changed to improve standards conformance. Чтобы эффективно использовать эти изменения, необходимо обновить существующий код и системы сборки проекта. To take advantage of these changes, your existing code and project build systems must be updated.
Где найти файлы универсальной среды выполнения Where to find the Universal CRT files
Так как UCRT является компонентом Windows, файлы и заголовки библиотеки UCRT теперь входят в состав пакета SDK Windows. As a Windows component, the UCRT library files and headers are now part of the Windows software development kit (SDK). При установке Visual Studio также устанавливаются компоненты пакета SDK Windows, необходимые для использования UCRT. When you install Visual Studio, the parts of the Windows SDK required to use the UCRT are also installed. Установщик Visual Studio добавляет расположения файлов заголовков и библиотек и DLL-файлов в пути по умолчанию, используемые в системе сборки проектов Visual Studio. The Visual Studio installer adds the locations of the UCRT headers, libraries and DLL files to the default paths used by the Visual Studio project build system. Если при обновлении проекты Visual Studio C++ используют параметры по умолчанию, интегрированная среда разработки автоматически обнаружит новые расположения для файлов заголовков, а компоновщик автоматически будет использовать новые заданные по умолчанию библиотеки UCRT и vcruntime. When you update your Visual Studio C++ projects, if they use the default project settings, the IDE automatically finds the new locations for header files, and the linker automatically uses the new default UCRT and vcruntime libraries. Аналогичным образом при использовании командной строки разработчика для построений из командной строки переменные среды, содержащие пути для заголовков и библиотек, будут автоматически обновлены и готовы к работе. Similarly, if you use a Developer command prompt to do command-line builds, the environment variables that contain paths for headers and libraries are updated and work automatically as well.
Теперь файлы заголовков стандартной библиотеки C находятся в пакете SDK Windows SDK в папке include в каталоге версии пакета SDK. The Standard C Library header files are now found in the Windows SDK in an include folder in an SDK version-specific directory. Типичное расположение файлов заголовков находится в каталоге Program Files или Program Files (x86) в наборах Windows \ 10 с \ \ пакетом SDK-Version \ ucrt, где SDK-Version соответствует версии или обновлении Windows, например 10.0.14393.0 для годовщины обновления Windows 10. A typical location for the header files is in the Program Files or Program Files (x86) directory under Windows Kits\10\Include\sdk-version\ucrt, where sdk-version corresponds to a Windows version or update, for example, 10.0.14393.0 for the Anniversary Update of Windows 10.
Если при обновлении проектов Visual Studio C++ вы установили для свойства Игнорировать все стандартные библиотеки****компоновщика в проекте значение Да или используете параметр компоновщика /NODEFAULTLIB в командной строке, необходимо обновить список библиотек, чтобы включить в него новые подвергнутые рефакторингу библиотеки. When you update your Visual Studio C++ projects, if you have set the project’s Linker property Ignore All Default Libraries to Yes or if you use the /NODEFAULTLIB linker option on the command line, then you must update your list of libraries to include the new, refactored libraries. Замените старую библиотеку CRT, например libcmt.lib, libcmtd.lib, msvcrt.lib, msvcrtd.lib, эквивалентными подвергнутыми рефакторингу библиотеками. Replace the old CRT library, for example, libcmt.lib, libcmtd.lib, msvcrt.lib, or msvcrtd.lib, with the equivalent refactored libraries. Сведения о конкретных библиотеках см. в разделе Особенности библиотеки CRT. For information on the specific libraries to use, see CRT Library Features.
Развертывание и распространение универсальной среды выполнения Deployment and redistribution of the Universal CRT
Поскольку UCRT теперь является компонентом операционной системы Microsoft Windows, она входит в состав операционной системы Windows 10 и доступна через Центр обновления Windows для старых операционных систем от Windows Vista до Windows 8.1. Because the UCRT is now a Microsoft Windows operating system component, it is included as part of the operating system in Windows 10 and is available through Windows Update for older operating systems, Windows Vista through Windows 8.1. Распространяемая версия доступна для Windows XP. A redistributable version is available for Windows XP. Как компонент операционной системы управление обновлениями и обслуживанием UCRT осуществляется с помощью Центра обновления Windows независимо от версий Visual Studio и компилятора Microsoft C++. As an operating system component, UCRT updates and servicing are managed by Windows Update independently of Visual Studio and Microsoft C++ compiler versions. Поскольку UCRT является компонентом Windows, в связи с небольшим размером образа и в целях обеспечения безопасности и простоты применения обновлений настоятельно рекомендуется выполнять централизованное развертывание UCRT для приложений. Because the UCRT is a Windows component, for security and ease of updates, and a smaller image size, we strongly recommend central deployment of the UCRT for your app.
UCRT можно использовать в любой версии Windows, поддерживаемой Visual Studio 2015 или Visual Studio 2017. You can use the UCRT on any version of Windows supported by Visual Studio 2015 or Visual Studio 2017. Ее можно распространять с помощью пакета vcredist для поддерживаемых версий Windows (кроме Windows 10). You can redistribute it using a vcredist package for supported versions of Windows other than Windows 10. Пакеты vcredist включают в себя компоненты UCRT и автоматически устанавливают их в операционных системах Windows, где они не установлены по умолчанию. The vcredist packages include the UCRT components and automatically install them on Windows operating systems that do not have them installed by default. Дополнительные сведения см. в разделе Распространение файлов Visual C++. For more information, see Redistributing Visual C++ Files.
Поддерживается развертывание локальных приложений UCRT, хотя этот вариант является нерекомендуемым по соображениям безопасности и производительности. App-local deployment of the UCRT is supported, though not recommended for both performance and security reasons. Библиотеки DLL для развертывания локальных приложений входят в состав пакета SDK Windows и находятся в подкаталоге redist. The DLLs for app-local deployment are included as part of the Windows SDK, under the redist subdirectory. Требуемые библиотеки DLL содержат ucrtbase.dll и набор библиотек DLL переадресации APISet с именем api-ms-win-subset.dll. The DLLs required include ucrtbase.dll and a set of APISet forwarder DLLs named api-ms-win-subset.dll. Для каждой операционной системы требуется разный набор библиотек DLL, поэтому при развертывании локальных приложений рекомендуется включать все библиотеки DLL. The set of DLLs required on each operating system varies, so we recommended that you include all of the DLLs when you use app-local deployment. Дополнительные сведения и советы об использовании развертываний локальных приложений см. в разделе Развертывание в Visual C++. For additional details and caveats about app-local deployment, see Deployment in Visual C++.
Изменения функций и макросов универсальной среды выполнения Changes to the Universal CRT functions and macros
Многие функции были добавлены или обновлены в UCRT для повышения соответствия стандарту ISO C99, а также для устранения проблем, связанных с качеством и безопасностью кода. Many functions were added or updated in the UCRT to improve ISO C99 conformance, and to address code quality and security issues. В некоторых случаях требовалось внести критические изменения в библиотеку. In some cases, this required breaking changes to the library. Если код компилируется правильно при использовании более ранней версии CRT, но прерывается при компиляции с использованием UCRT, необходимо изменить код, чтобы воспользоваться преимуществами этих обновлений и функций. If your code compiled cleanly when using an older version of the CRT but breaks when compiled using the UCRT, you must change your code to take advantage of these updates and features. Подробный список критических изменений и обновлений для универсальной среды выполнения в разделе Библиотека времени выполнения C (CRT) в журнале изменений Visual C++. For a detailed listing of the breaking changes and updates to the CRT found in the Universal CRT, see the C Runtime Library (CRT) section of the Visual C++ change history. В него входит перечень затронутых заголовков и функции, который можно использовать для определения изменений, необходимых для кода. It includes a list of affected headers and functions that you can use to identify the changes needed in your code.
Развертывание универсальной библиотеки CRT Universal CRT deployment
Универсальный CRT (UCRT) — это компонент операционной системы Microsoft Windows. The Universal CRT (UCRT) is a Microsoft Windows operating system component. Он входит в состав операционной системы Windows 10 и Windows Server 2016 или более поздней версии. It’s included as part of the operating system in Windows 10 and Windows Server 2016 or later. UCRT доступен с помощью Центр обновления Windows в более старых операционных системах, которые по-прежнему доступны в расширенной поддержке. The UCRT is available by using Windows Update on older operating systems that are still in extended support. Локальное развертывание универсальной CRT поддерживается с некоторыми ограничениями. Local deployment of the Universal CRT is supported, with some restrictions.
Централизованное развертывание Central deployment
Предпочитаемый способ централизованной установки универсальной CRT — Центр обновления Microsoft Windows. The preferred method to centrally install the Universal CRT is to use Microsoft Windows Update. Универсальная CRT является рекомендуемым обновлением для всех поддерживаемых операционных систем Microsoft Windows, поэтому многие компьютеры устанавливают ее по умолчанию в рамках обычного процесса обновления. The Universal CRT is a Recommended update for all supported Microsoft Windows operating systems, so by default, most machines install it as part of the regular update process. Первоначальный выпуск универсальной CRT был KB2999226. The initial release of the Universal CRT was KB2999226. Более позднее обновление с различными исправлениями ошибок было внесено в KB3118401, и существуют дополнительные обновления с дальнейшими исправлениями ошибок и новыми функциями. A later update with various bug fixes was made in KB3118401, and there have been additional updates with further bug fixes and new features. Чтобы получить более актуальные обновления, выполните поиск по запросам «Universal C Runtime» (Универсальная среда выполнения C) или «Universal CRT» (Универсальная CRT) на сайте support.microsoft.com. For more recent updates, search support.microsoft.com for Universal C Runtime or Universal CRT.
Не все компьютеры с Microsoft Windows регулярно получают обновления через Центр обновления Windows, а на некоторых могут устанавливаться не все рекомендуемые обновления. Not all Microsoft Windows computers regularly install updates by use of Windows Update, and some may not install all Recommended updates. Для поддержки использования приложений, созданных с помощью инструментов Visual Studio 2015 и более поздних версий C++ на этих компьютерах, доступны распространяемые файлы универсальной библиотеки CRT, доступные для автономного распространения. To support the use of applications built by using the Visual Studio 2015 and later C++ toolsets on those machines, there are Universal CRT redistributable files available for offline distribution. Эти распространяемые файлы можно загрузить с одной из ссылок KB выше. Those redistributable files may be downloaded from one of the KB links above. Распространяемый компонент универсальной библиотеки CRT требует, чтобы компьютер был обновлен до текущего пакета обновления. The Universal CRT redistributable requires that the machine has been updated to the current service pack. Например, распространяемый пакет для Windows 7 будет устанавливаться только в Windows 7 с пакетом обновления 1 (SP1), но не в Windows 7 RTM. So, for example, the redistributable for Windows 7 will only install onto Windows 7 SP1, not Windows 7 RTM.
Так как универсальная библиотека CRT является фундаментальной зависимостью библиотек C++, Visual C++ распространяемый пакет (VCRedist) устанавливает начальную версию универсальной библиотеки CRT (версии 10.0.10240) на компьютерах, на которых еще не установлены. Because the Universal CRT is a fundamental dependency of the C++ libraries, the Visual C++ redistributable (VCRedist) installs the initial version of the Universal CRT (version 10.0.10240) on machines that don’t already have one installed. Эта версия достаточна для удовлетворения зависимостей библиотеки C++. This version is sufficient to satisfy the C++ library dependencies. Если приложение зависит от более поздней версии универсальной библиотеки CRT, необходимо использовать Центр обновления Windows для полного обновления компьютера или установить эту версию явным образом. If your application depends on a more recent version of the Universal CRT, you must use Windows Update to bring your machine fully up-to-date, or install that version explicitly. Перед установкой VCRedist рекомендуется установить универсальную среду выполнения C с помощью Центр обновления Windows или MSU, чтобы избежать потенциальных перезапусков. It’s best to install the Universal C Runtime via Windows Update or an MSU before installing the VCRedist, to avoid potential multiple required reboots.
Не все операционные системы подходят для последней универсальной среды выполнения C с помощью Центр обновления Windows. Not all operating systems are eligible for the most recent Universal C Runtime via Windows Update. В Windows 10 версия, развернутая централизованно, соответствует версии операционной системы. On Windows 10, the centrally deployed version matches the version of the operating system. Чтобы обновить универсальную среду выполнения C, необходимо обновить операционную систему. To update the Universal C Runtime further, you must update the operating system. Для Windows Vista через Windows 8.1 Последняя доступная универсальная среда выполнения C в настоящее время основана на версии, включенной в годовщину обновления Windows 10, с дополнительными исправлениями (версия 10.0.14393). For Windows Vista through Windows 8.1, the latest available Universal C Runtime is currently based on the version included in the Windows 10 Anniversary Update, with additional fixes (version 10.0.14393).
Локальное развертывание Local deployment
Локальное развертывание универсальной CRT поддерживается, хотя и не рекомендуется по соображениям безопасности и производительности. Local deployment of the Universal CRT is supported, but not recommended for both performance and security reasons. Библиотеки DLL для локального развертывания входят в состав пакета Windows SDK и находятся в подкаталоге Kits\10\Redist\ucrt\DLLs согласно архитектуре компьютера. The DLLs for local deployment are included as part of the Windows SDK, in the Windows Kits\10\Redist\ucrt\DLLs subdirectory, by computer architecture. Требуемые библиотеки DLL содержат ucrtbase.dll и набор библиотек DLL переадресации APISet с именем api-ms-win-*.dll. The DLLs required include ucrtbase.dll and a set of APISet forwarder DLLs named api-ms-win-*.dll. Набор библиотек DLL, необходимых для каждой операционной системы, различается. The set of DLLs required on each operating system varies. Настоятельно рекомендуется включить все библиотеки DLL при развертывании локально. It’s highly recommended that you include all of the DLLs when you deploy locally.
Для локального развертывания существует два ограничения, которые следует учитывать: There are two restrictions on local deployment to be aware of:
В Windows 10 универсальная CRT, расположенная в системном каталоге, используется всегда, даже если приложение имеет собственную локальную копию универсальной CRT. On Windows 10, the Universal CRT in the system directory is always used, even if an application includes an application-local copy of the Universal CRT. Это справедливо даже в том случае, если локальная копия является более новой, поскольку универсальная библиотека CRT является основным компонентом операционной системы в Windows 10. It’s true even when the local copy is newer, because the Universal CRT is a core operating system component on Windows 10.
В версиях Windows до Windows 8 универсальную CRT нельзя упаковать локально с подключаемым модулем, если он находится в каталоге, отличном от каталога основного исполняемого файла приложения. On versions of Windows before Windows 8, the Universal CRT can’t be packaged locally with a plugin, if it’s located in a directory other than the directory of the main app executable. В этом случае библиотеки DLL сервера пересылки APISet не могут успешно разрешить ucrtbase.dll. The APISet forwarder DLLs are unable to resolve the ucrtbase.dll successfully in this case. К рекомендуемым альтернативным способам относятся следующие. Some recommended alternative solutions include:
Развертывание в Microsoft Windows XP Deployment on Microsoft Windows XP
Visual Studio 2015 и Visual Studio 2017 по-прежнему поддерживают разработку программного обеспечения для использования в Microsoft Windows XP. Visual Studio 2015 and Visual Studio 2017 continue to support development of software for use on Microsoft Windows XP. Для поддержки этой разработки версия универсальной библиотеки CRT работает в Microsoft Windows XP. To support this development, a version of the Universal CRT does work on Microsoft Windows XP. Для операционной системы Microsoft Windows XP больше не предоставляется ни основная, ни расширенная поддержка, поэтому централизованное развертывание универсальной CRT в Microsoft Windows XP отличается от других операционных систем. The Microsoft Windows XP operating system is no longer in mainstream or extended support, so central deployment of the Universal CRT onto Microsoft Windows XP is different from other operating systems.
Если распространяемый компонент Visual C++ установлен в Windows XP, он непосредственно устанавливает универсальную CRT и все его зависимости в системный каталог. When the Visual C++ redistributable is installed on Windows XP, it directly installs the Universal CRT and all of its dependencies into the system directory. Он не устанавливается или не зависит от Центр обновления Windows. It doesn’t install or depend on any Windows Update. Распространяемые модули слияния — файлы Microsoft_VCверсияCRT*.msm — делают то же самое. The Redistributable merge modules, the Microsoft_VCversionCRT*.msm files, do the same.
Локальное развертывание универсальной CRT в Windows XP осуществляется так же, как и в других поддерживаемых операционных системах. Local deployment of the Universal CRT on Windows XP is the same as on other supported operating systems.