Я хотел бы дать вам представление о Universal CRT, это поможет вам понять, почему система должна быть обновлена перед установкой vc_redist.x64.exe
.
Большая часть C-среды выполнения перенесена в ОС в Windows 10 (ucrtbase.dll
) и обслуживается так же, как любая другая ОС DLL (например, kernel32.dll
). Он больше не обслуживается Visual Studio напрямую. Пакеты MSU - это тип файлов для обновлений Windows.
Чтобы получить Windows 10 Universal CRT для более ранних ОС, были созданы пакеты Центра обновления Windows, чтобы понизить этот компонент ОС. KB2999226
переносит Windows 10 RTM Universal CRT на платформы более низкого уровня (Windows Vista через Windows 8.1). KB3118401
переносит Windows 10 November Update на универсальный CRT для платформ более низкого уровня.
Windows XP (последняя версия SP) является исключением. Обслуживание Windows не предоставляет пакеты более низкого уровня для этой ОС, поэтому Visual Studio (Visual C++) предоставляет механизм для установки UCRT в System32
через VCRedist и MSM.
Среда выполнения Windows Universal включена в пакет VC Redist exe, поскольку она зависит от среды выполнения Windows Universal (KB2999226
).
Windows 10 является единственной ОС, которая поставляется в комплекте с UCRT. Все предыдущие ОС получают UCRT только через Центр обновления Windows. Это относится ко всем Vista и Rightarrow; 8.1 и соответствующие SKU сервера.
Для Windows 7, 8 и 8.1 универсальная среда выполнения Windows должна быть установлена через KB2999226
. Однако в нем есть необходимое обновление KB2919355
которое содержит обновления, облегчающие установку пакета KB2999226
.
Почему KB2999226 не всегда устанавливается, если среда выполнения устанавливается из распространяемого пакета? Что может помешать установке KB2999226
как части среды выполнения?
UCRT MSU, включенный в VCRedist, устанавливается путем вызова службы Windows Update, и KB может быть не в состоянии установить, основываясь на активности / состоянии службы Windows Update:
Если машина не обновилась до требуемого базового уровня обслуживания, MSU UCRT будет рассматриваться как «Не применимо».
Убедитесь, что KB2919355
установлен. Также были известные проблемы с KB2919355
поэтому перед этим необходимо установить следующее исправление: KB2939087
, KB2975061
.
Если служба Windows Update устанавливает другие обновления при установке VCRedist, вы можете увидеть длинные задержки или ошибки, указывающие на то, что аппарат занят.
Эту проблему можно решить, подождав и повторив попытку позже (возможно, поэтому установка через пользовательский интерфейс Центра обновления Windows позднее будет успешной).
Если служба Центра обновления Windows не готова, вы можете увидеть ошибки, отражающие это.
Недавно мы исследовали ошибку с кодом ошибки, указывающим на то, что служба WUSA была закрыта.
Чтобы определить, установлено ли предварительное условие KB2919355
есть 2 варианта:
Ключ реестра:
64-битный улей
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~amd64~~6.3.1.14
CurrentState = 112
32-битный улей
HKLM\SOFTWARE\[WOW6432Node\]Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~x86~~6.3.1.14
CurrentState = 112
Или проверьте версию файла:
C:\Windows\SysWOW64\wuaueng.dll
C:\Windows\System32\wuaueng.dll
7.9.9600.17031
или позже.