Instalando o .Net 3.5 no Windows 2012 R2

13

Então, eu estou tentando instalar o .net 3.5 em um Windows 2012 R2 Server. Eu tentei através do recurso Adicionar e via DISM ambos falham.

Ao tentar pela GUI Adicionar recursos, estou usando o “caminho alternativo especificado”. Isso falha com o erro “falha na instalação de uma de mais funções, serviços de função ou recursos”

Ao tentar, através de um PowerShell elevado, usar o DISM, estou usando o seguinte comando.

dism.exe /online /enable-feature /featurename:NetFX3 /Source:d:\sources\sxs 

Isso falha com

Erro: 0x800f0906 Não foi possível baixar os arquivos de origem. Use a opção "source" para especificar o local dos arquivos necessários para restaurar o recurso. Para obter mais informações sobre como especificar um local de origem, consulte http://go.microsoft.com/fwlink/?LinkId=243077.

O arquivo de log do DISM pode ser encontrado em C: \ Windows \ Logs \ DISM \ dism.log

Eu segui os KB listados acima (243077) para definir o local da diretiva de grupo para a pasta SXS. Reinicializado e ainda o mesmo erro. O log DSIM mostra o seguinte

Falha ao processar o comando enable-feature. - CPackageManagerCLIHandler :: ExecuteCmdLine (h: 0x800f0906)

Um rápido google mostra que muitas pessoas estão tendo problemas com isso e que você deve desinstalar os KB2966826 e KB2966828 que este servidor também não possui.

Eu também tentei o instalador .Net offline e ele diz que devo adicioná-lo através dos recursos do Windows. Todos os comandos foram executados como administrador e por meio de um prompt elevado.

Enquanto escrevia isso, pesquisei notou as "Perguntas semelhantes" e observei isso Não foi possível instalar o .net 3.5 no Windows server 2012

Corrida

dism.exe /online /enable-feature /featurename:NetFX3 /all

Produziu o mesmo erro acima.

Zapto
fonte
Se alguém já estiver gerenciando esse servidor, é provável que eles removam esse recurso removendo os binários do sistema operacional. O 2012 agora permite remover arquivos desnecessários para funções que você não planeja instalar. É por isso que está solicitando um caminho alternativo para os arquivos de instalação. Faça uma pesquisa no PowerShell para seu comando e ele informará como especificar esse caminho alternativo.
Jon
Se você possui o KB2919355 (Atualização 1) instalado, use os arquivos de origem que possuem o KB2919355 integrado. Essa é a única maneira que funcionou para mim.
Peter Hahndorf
você instalou pacotes MUI adicionais?
magicandre1981
@ magicandre1981 Não MUI, esta é uma nova instalação do Windows. Trabalhamos para 1 aplicativo por servidor (virtual) .Vou tentar suas sugestões.
Zapto
Você está usando o WSUS? Há uma configuração na política de grupo que você pode definir que diz ao Windows para não procurar esses arquivos no WSUS, pois não pode ser uma fonte de instalação para isso.
Briantist

Respostas:

13

O comando que eu uso para instalar o .NET Framework 3.5 no Windows 8.1 e Server 2012 R2 é:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs

Onde D: \ é a unidade ISO ou DVD montada. A única diferença da sua é o / LimitAccess , mas acredito que é a parte importante, pois impede que você tente entrar em contato com o Windows Update ou o WSUS. Por qualquer motivo, esse aspecto (entrar em contato com o Windows Update) é totalmente interrompido para o .NET Framework 3.5 no Windows 8 / 8.1 e Server 2012 / 2012R2 e sempre causa falhas.

Consulte também: http://blogs.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx

Joshua McKinnon
fonte
muito mais fácil do serverfault.com/a/633171/157373
Jason Pyeron
Para quem procura o arquivo cab dentro da pasta sxs, você pode baixá-lo em androidfilehost.com/?fid=745425885120760819 . Além disso, o link de informações na resposta agora está arquivado e pode ser encontrado no link abaixo docs.microsoft.com/en-us/archive/blogs/askcore/… .
Sam
6

Eu tive o mesmo problema ao montar o disco de instalação do Windows ou usar o DVD físico, e aqui está como o corrigi:

  1. Crie uma pasta na raiz (C: \ NetFx3, por exemplo)
  2. Copie o microsoft-windows-netfx3-ondemand-package.cab de um disco de instalação do Windows. \ Sources \ sxs para a pasta C: \ NetFx3
  3. Prompt de comando como administrador
  4. DISM.exe /online /enable-feature /featurename:NetFX3 /All /Source:C:\NetFX3 /LimitAccess
  5. A barra de progresso do texto chegará a 100% quando concluída e exibirá uma mensagem: "A operação foi concluída com êxito".

Por qualquer motivo, minha unidade óptica mostra os arquivos no disco, mas o DISM não gosta, mas copiar os arquivos para C: parece ter funcionado.

Pedro
fonte
2

A solução para mim foi uma combinação dessas respostas. Eu estava em uma máquina com o Windows Server 2012 R2.

Tentei contornar o fato de que eu não tinha um ISO do sistema operacional disponível. Mas não conseguiu fazê-lo funcionar. Então fui forçado a encontrar um ISO para o Windows Server 2012 R2.

1.) Inicie o Editor de Diretiva de Grupo Local ou o Console de Gerenciamento de Diretiva de Grupo (WIN + R e digite gpedit.msc).

2.) Expanda Configuração do Computador, expanda Modelos Administrativos e selecione Sistema.

3.) Abra a configuração "Especificar configurações para a instalação opcional de componentes e a Diretiva de Grupo de reparo de componentes" e selecione Ativado.

4.) Marque a caixa de seleção "Entre em contato diretamente com o Windows Update para baixar o conteúdo do reparo em vez do Windows Server Update Services (WSUS)". Clique em Aplicar, clique em OK.

configurações de wsus

5.) Faça o download de um ISO do sistema operacional e monte a imagem. Eu baixei um aqui: https://www.technig.com/download-windows-server-2012-r2-essentials-iso-file/

* Nota: é um arquivo 3Gb.

6.) Abra um PowerShell elevado e execute:

DISM / Online / Enable-Feature / FeatureName: NetFx3 / All / LimitAccess / Origem: E: \ sources \ sxs

* Nota: o ISO foi montado no "E: \ drive" neste caso.

instale o Net 3.5 com Powershell

* Este tópico salvou vidas. Obrigado a todos os colaboradores, especialmente @ Joshua McKinnon!

Guy Clark Rimel
fonte
Este também parece ter sido o problema que tive no meu cenário. Alterações na Diretiva de Grupo funcionaram bem! Não sei se vale a pena ou não, mas voltei a Diretiva de Grupo para o que era quando a instalação era concluída.
Sr. Alce
1

Nenhum dos métodos acima funcionou para mim. Acabou que eu tinha um servidor WSUS configurado. A única maneira de instalá-lo foi

1) Regedit

2) Vá para Computador-> HKEY_LOCAL_MACHINE-> SOFTWARE-> Políticas-> Microsoft-> ​​Windows-> WindowsUpdate

3) Anotou os valores das duas chaves: WUServer e WUStatusServer

4) Excluiu / renomeou essas chaves

5) Windows parado e iniciado

6) Adicionado o recurso .Net3.5

7) Coloque as chaves de volta e reinicie o WindowsUpdate.

Espero que ajude

fórmica
fonte
1
Observe que você pode renomear as chaves do Registro em vez de excluí-las.
Matthew Wetmore 27/02
Bom ponto! Eu tentei limpá-los, mas isso não funcionou. Adicionado na sua sugestão
formica 28/02
0

Quando o comando DISM ignora a mídia especificada pela opção / Source e procura os arquivos online, significa que os arquivos de origem na mídia especificada estão corrompidos ou não são aplicáveis ​​ao seu servidor (incompatibilidade de versão).

O código de erro 0x800f0906 prova ainda esse comportamento conforme documentado pela Microsoft: https://technet.microsoft.com/en-us/library/dn482067.aspx

Sua melhor aposta é ajudar a resolver esse problema:

  1. Mude a mídia que você está usando, faça o download novamente, se possível.
  2. Apresente a mídia de diferentes métodos. Se for uma VM, monte um ISO. Se for físico, grave em um DVD. se ambos os arquivos, copie para um disco local. Se isso falhar, tente uma pasta compartilhada.
  3. Se todas as opções acima falharem, li que você está usando o WSUS, tente configurar o WSUS com um local "Atualizar fonte", onde você tem a pasta sxs copiada para uma pasta compartilhada, os servidores da sua rede usarão essa pasta como fonte para instalar componentes do Windows: https://technet.microsoft.com/en-us/library/dn482065.aspx
  4. Se o uso do WSUS não for uma opção por qualquer motivo, remova o GPO do servidor e garanta que as configurações não sejam armazenadas em cache executando " gpupdate / sync / force ". Depois de concluído, tente fazer a instalação online da Internet usando o comando " DISM / Online / Ativar recurso / Nome do recurso: NetFx3 / Todos "

Se todas as opções acima falharem, eu recomendo que você forneça os logs de manutenção do DISM para solucionar qualquer problema adicional, mas, nesta fase, eu me inclinaria mais para fazer uma reconstrução completa do servidor.

Noor Khaldi
fonte
Isso está quase certo, meio que. Simplesmente removendo as configurações de GPO na etapa 4 - ou seja, definindo-a como "não configurada" - você retornará para onde estava na etapa 2. Ao definir a diretiva como habilitada e marcar a caixa "Entre em contato diretamente com o Windows Update para baixar o reparo conteúdo em vez do Windows Server Update Services (WSUS) "permitirá que o comando DISM seja buscado na Internet. A opção / Online não significa "buscar na Internet", significa "fazer manutenção em um computador [ou online] em execução". #documentation
de Austin
Sim, eu fiz o uso da Internet para a atualização como último recurso, queria garantir que ele pudesse usar qualquer um dos recursos locais na LAN para acelerar a instalação sem fazer o download da Internet. Também sei sobre os comutadores do DISM, / Online significa "Especifica que a ação deve ser executada no sistema operacional que está sendo executado no momento" technet.microsoft.com/en-us/library/hh825079.aspx
Noor Khaldi
Tudo bem, mas o comando não verificará a Internet se houver um local definido na intranet para o Windows Update (por exemplo, um servidor WSUS). Ele será verificado a menos que você tenha o GPO na etapa 3 ativado com a configuração Entre em contato diretamente com o Windows Update para baixar o conteúdo do reparo em vez do Windows Server Update Services (WSUS) ativado.
de Austin
0

Seu comando do DISM não está encontrando os recursos necessários porque está verificando a fonte "online". O Windows 6.2+ (por padrão) verificará apenas com o servidor de origem de atualização a instalação / reparo de componentes se uma fonte de atualização for especificada para o Windows Update Service.

Se você não deseja configurar o servidor de fonte de atualização (geralmente WSUS) como fonte de reparo / instalação de componentes, habilite a seguinte Diretiva de Grupo:

Configuração do Computador \ Modelos Administrativos \ Sistema

Especifique configurações para instalação e reparo de componentes opcionais

Certifique-se de verificar esta opção:

Entre em contato diretamente com o Windows Update para baixar o conteúdo do reparo em vez do Windows Server Update Services (WSUS)

austiniano
fonte
0

Verifique se a mídia do Sources corresponde totalmente à sua versão do Windows.

Passei meio dia tentando usar o Server 2012 ISO para instalar o .NET35 no Server 2012 R2. Quando a fonte estiver correta, o comando DISM (desta resposta ) funcionará perfeitamente.

alex.z
fonte
0

Eu tive exatamente o mesmo problema. Minha resolução foi remover o servidor do Active Directory, instalar o .Net 3.5 e adicionar novamente ao AD. Tenho certeza que isso tem a ver com o WSUS em alguma camada, mas isso resolveu o problema para nós. Apenas garantimos a instalação do 3.5 em todos os servidores antes de adicionar ao domínio.

Chris Satola
fonte
0

Há muitas coisas na internet sobre isso e a maioria foi resumida nas respostas aqui. Tentamos tudo e nada funcionou. Mesmo ao apontar para várias cópias da pasta sxs, ainda haveria uma variação do erro "arquivos de origem não encontrados".

Finalmente apontei para um compartilhamento da pasta winsxs em outro servidor totalmente corrigido que tinha .net 3.5 (c: \ windows \ winsxs) e funcionou:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:\\otherserver\winsxs

Minha teoria é que o processo de instalação procurava arquivos de origem que correspondessem aos KBs atuais no servidor. Sei que existem outros artigos que apontam para a remoção de dois KBs específicos, mas esses não apareceram em nossa lista de patches instalados.

Observe também que os recursos de adição / remoção não funcionaram com esse compartilhamento. Eu tive que usar o DISM.

b_levitt
fonte