Gostaria de dar a você um histórico sobre o CRT Universal. Isso ajudaria você a entender por que o sistema deve ser atualizado antes de instalar o vc_redist.x64.exe
.
Uma grande parte do tempo de execução do C foi movida para o sistema operacional no Windows 10 ( ucrtbase.dll
) e é atendida como qualquer outra DLL do sistema operacional (por exemplo, kernel32.dll
). Não é mais atendido pelo Visual Studio diretamente. Pacotes MSU são o tipo de arquivo para atualizações do Windows.
Para obter o Windows 10 Universal CRT para sistemas operacionais anteriores, os pacotes do Windows Update foram criados para trazer esse nível de componente do SO. KB2999226
traz o CRT Universal do Windows 10 RTM para plataformas de nível inferior (Windows Vista através do Windows 8.1). KB3118401
traz o Windows 10 November Update para o Universal CRT para plataformas de nível inferior.
O Windows XP (última versão do SP) é uma exceção aqui. O Windows Servicing não oferece pacotes de nível inferior para esse sistema operacional, portanto, o Visual Studio (Visual C ++) fornece um mecanismo para instalar o UCRT em System32
por meio do VCRedist e dos MSMs.
-
O Windows Universal Runtime está incluído no pacote exe VC Redist, pois depende do Tempo de Execução Universal do Windows ( KB2999226
).
O Windows 10 é o único sistema operacional que vem com o UCRT na caixa de entrada. Todos os sistemas operacionais anteriores obtêm o UCRT somente através do Windows Update. Isso se aplica a todos os Vista & rightarrow; 8.1 e SKUs do servidor associado.
Para o Windows 7, 8 e 8.1, o Windows Universal Runtime deve ser instalado via KB2999226
. No entanto, há uma atualização de pré-requisito KB2919355
, que contém atualizações que facilitam a instalação do pacote KB2999226
.
-
Por que o KB2999226 nem sempre é instalado quando o tempo de execução é instalado a partir do redistribuível? O que poderia impedir que KB2999226
fosse instalado como parte do tempo de execução?
O MSU do UCRT incluído no VCRedist é instalado fazendo uma chamada para o serviço do Windows Update e o KB pode falhar na instalação com base na atividade / estado do serviço do Windows Update:
-
Se a máquina não tiver atualizado para a linha de base de serviços exigida, a MSU UCRT será exibida como "Não aplicável".
Certifique-se de que KB2919355
esteja instalado. Além disso, havia problemas conhecidos com KB2919355
, então antes disso, o seguinte hotfix deve ser instalado: KB2939087
, KB2975061
.
-
Se o serviço Windows Update estiver instalando outras atualizações quando o VCRedist for instalado, você poderá ver longos atrasos ou erros indicando que a máquina está ocupada.
Este pode ser resolvido aguardando e tentando novamente mais tarde (o que pode ser o motivo pelo qual a instalação através da interface do usuário do Windows Update ocorre posteriormente).
-
Se o serviço Windows Update estiver em estado não pronto, você poderá ver os erros refletindo isso.
Recentemente, investigamos uma falha com um código de erro indicando que o serviço da WUSA estava sendo desligado.
-
Para identificar se o pré-requisito KB2919355
está instalado, existem duas opções:
Chave do registro:
Colmeia de 64 bits
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~amd64~~6.3.1.14
CurrentState = 112
seção de 32 bits
HKLM\SOFTWARE\[WOW6432Node\]Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~x86~~6.3.1.14
CurrentState = 112
Ou verifique a versão do arquivo de:
C:\Windows\SysWOW64\wuaueng.dll
C:\Windows\System32\wuaueng.dll
7.9.9600.17031
ou posterior.