André Carlucci

Skeptic .net development

Erro instalando dotnet 4.5.2 em um Windows Server 2008 R2 SP1

Hoje perdi um bom tempo tentando atualizar o dotnet em um de nossos servidores de testes. Por alguma razão, a instalação sempre parava com o seguinte erro:

Could not open key: UNKNOWNInstallerProducts C28643E881181F13CBC489DC69571E2CSourceListMedia

Depois de muito penar e fazer dezenas de modificações achadas na Internet, acabei achando no blog do Aaron Stebner esta super ferramenta chamada .NET Framework Cleanup Tool.

Basicamente ela desinstala na força qualquer versão do .NET que você escolher, limpando entradas, diretórios, registros, etc. Sem piedade!

É aconselhável rodar essa ferramenta somente depois que você já tentou o Uninstall normal e o Repair do framework. O Aaron deixa bem claro os riscos e você deve saber o que pode acontecer antes de tomar esta medida crítica. Vai lá, eu espero: .NET Framework Cleanup Tool User’s Guide

Pronto, agora que você já ignorou os perigos, basta rodar o arquivo cleanup_tool.exe, seguir os menus e pronto. Bye bye .net.

Depois disso eu dei um boot no servidor, rodei a instalação do .NET 4.5.2 e pronto. Finalmente deu certo.

dotnet_4.5.2

Na real, quase tudo certo

Ao rodar nossa aplicação no IIS, lá veio a YSOD:

Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Mas este já é um erro conhecido, basta registrar novamente o .Net no IIS através da seguinte linha de comando:

%windir%Microsoft.NETFramework64v4.0.30319aspnet_regiis.exe /iru

E pronto! Victory :)