Verificação de integridade na instalação do .NET 4.5

3

Em uma caixa do Windows Server 2012 R2 Core Server, obtenho estes resultados:

PS C:\Users\vagrant> Get-WindowsFeature | Where-Object {$_.DisplayName -like "*.NET*"}

Display Name                                            Name                       Install State
------------                                            ----                       -------------
    [ ] .NET Framework 4.5                              AS-NET-Framework                 Removed
            [ ] .NET Extensibility 3.5                  Web-Net-Ext                    Available
            [ ] .NET Extensibility 4.5                  Web-Net-Ext45                  Available
            [ ] ASP.NET 3.5                             Web-Asp-Net                    Available
            [ ] ASP.NET 4.5                             Web-Asp-Net45                  Available
[ ] .NET Framework 3.5 Features                         NET-Framework-Features         Available
    [ ] .NET Framework 3.5 (includes .NET 2.0 and 3.0)  NET-Framework-Core               Removed
[X] .NET Framework 4.5 Features                         NET-Framework-45-Fea...        Installed
    [X] .NET Framework 4.5                              NET-Framework-45-Core          Installed
    [ ] ASP.NET 4.5                                     NET-Framework-45-ASPNET        Available
    [ ] .NET Environment 3.5                            WAS-NET-Environment            Available

Eu não sei como interpretar o relatório acima . O .NET Framework 4.5 está instalado ou não está instalado? Como podem "recursos do .NET 4.5" ser "instalados", mas ".NET 4.5" é "removido"?

As entradas do registro para .net nesta mesma máquina são assim:

Combaseno artigo do MSDN , presumivelmente eu tenho .NET Framework 4.5.1 instalado. Mas ainda assim, como devo interpretar o primeiro relatório acima? Parece sugerir que minha instalação do .NET 4.5 está incompleta.

E fica pior. Considere esta saída:

PS C:\Users\vagrant> $psversiontable

Name                           Value
----                           -----
PSVersion                      4.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.33440
BuildVersion                   6.3.9600.16384
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion      2.2

Isso parece conflitar com os relatórios acima. : (

    
por Brent Arias 28.02.2016 / 00:30

2 respostas

1

Se você executar Get-WindowsFeatures sem o filtro, verá que "AS-Net-Features" faz parte do "Application Server". Como o SimonS diz, é necessário apenas se você estiver hospedando aplicativos nesse servidor, não para executar aplicativos baseados em .NET. O NET-Framework-Core é o verdadeiro framework .NET, que está instalado.

$ PSVersionTable.PSversion lista a versão do PowerShell instalada, não o .NET Framework. O PowerShell faz parte do Windows Management Framework (WMF), cada versão do qual tem uma dependência de uma versão do .NET Framework, mas eles não são como para-like. Por exemplo, o WMF 5 precisa do .NET 4.5 ou superior.

Quanto a qual versão do .NET Framework você instalou, esta é uma imagem incompleta. Ele nos diz que você tem o .NET 4.5.1 instalado (que vem com o Windows), que preenche qualquer requisito do .NET 4.0 - 4.5.1. Ele também nos diz que você não tem o .NET Framework 3.5, que é como você obtém suporte de versão .NET Framework mais baixo também. No entanto, existem alguns .NET Frameworks lançados desde então (4.5.2, 4.6 e 4.6.1), e se você os instalou, eles estarão na lista de programas instalados, não no Windows.

Existe uma ferramenta que acabei de encontrar recentemente que pode ajudar a determinar qual versão está em um determinado sistema, apesar de ser um programa gráfico, não tenho certeza se isso ajudaria na instalação do Server Core. Ele é chamado de Ferramenta de verificação de instalação do .NET Framework e pode ser encontrado aqui:

    
por 10.03.2016 / 05:02
0

O .NET 4.5 está instalado. Caso contrário, você não mostraria um CLRVersion de 4.0.30319.33440 ou um PSVersion de 4.0.

Outra validação que você pode realizar:

[console]::WriteLine([Environment]::Version)

Se você estiver interessado no estado de instalação "Removido" e em como restaurar a carga útil:

Opções de instalação e recursos do Windows Server 2012 R2 sob demanda (Parte 5 de 5 )

"Quando a carga útil de um recurso é removida de uma instalação, ela é excluída do armazenamento lado-a-lado em% SystemDrive%: \ Windows \ WinSxS."

    
por 29.02.2016 / 01:43