By: Rodrigo Gomes – Support Engineer CTS Latam

Durante a última semana eu trabalhei em um caso onde precisávamos instalar o pacote Windows Azure Tools for Microsoft Visual Studio 2010 (versão 1.6 - November 2011) em uma nova estação com Windows 2008 R2 SP1.

Era uma instalação nova que haviamos acabado de instalar o Visual Studio 2010 Premium e o Service Pack 1.

Nós estávamos utilizando o instalador manual que pode ser encontrado nesse link:

http://www.windowsazure.com/en-us/develop/downloads/archive-net-downloads/

Uma outra forma mais simples de instalar o kit de desenvolvimento para Windows Azure é através do Web Platform Installer - link no fim do artigo - mas veriamos o mesmo erro na instalação.

Executamos o arquivo WindowsAzureTools.VS100.exe para instalar o Windows Azure Tools for VS 2010 e recebemos a seguinte tela de erro:

image

Abrindo o log vemos qual a ultima ação executada antes do erro ser reportado:

---------

[0B88:0A8C][2012-06-13T12:38:19]: Applying package: CctSetup.Shared, action: Install, path: C:\ProgramData\Package Cache\{10EC9A93-A581-4063-A051-0F66D47EBC92}v1.6.41103.1601\WindowsAzureTools.VSCore.VS100.en-us.msi, arguments: ' IGNOREDEPENDENCIES="{3975541a-8609-49c4-94d7-10af6af23833}"'

[0B88:0A8C][2012-06-13T12:38:20]: Error 0x80070643: Failed to install MSI package.

----------

Na pasta em que os logs estão sendo gravados (C:\Users\Administrator\AppData\Local\Temp) temos o arquivo de log (Windows Azure Tools for Microsoft Visual Studio 2010_-_November 2011_20120613123817_0_CctSetup.Shared) que contém informações mais detalhadas sobre o erro.

Para facilitar a busca do erro dentro de um log do MSI podemos começar procurando pelo texto "Return value 3". A ação que retornar esse valor foi concluida com erro.

-----

Action start 12:38:20: LaunchConditions.

MSI (s) (58:C4) [12:38:20:703]: Product: Windows Azure Tools for Microsoft Visual Studio 2010 Core -- Windows Azure Tools for Microsoft Visual Studio 2010 Core requires .NET Framework 3.5 SP1

Action ended 12:38:20: LaunchConditions. Return value 3.

Action ended 12:38:20: INSTALL. Return value 3.

MSI (s) (58:C4) [12:38:20:705]: Note: 1: 1708

MSI (s) (58:C4) [12:38:20:705]: Product: Windows Azure Tools for Microsoft Visual Studio 2010 Core -- Installation failed.

MSI (s) (58:C4) [12:38:20:705]: Windows Installer installed the product. Product Name: Windows Azure Tools for Microsoft Visual Studio 2010 Core. Product Version: 1.6.41103.1601. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 1603.

--------

Então temos a mensagem bem direta mostrando que a instalação falhou pela falta de um requisito, o .Net framework 3.5 SP1.

No Windows 2008 R2 nós não precisamos fazer o download e instalar o .Net framework 3.5.1, a maneira correta é habilitá-lo através do menu Features na tela do Server Manager.

O curioso é que em nosso cenário, abrindo a tela do Server Manager vemos que a feature '.Net framework 3.5.1' está listada como instalada, mas mesmo assim o Windows Installer não o reconhece.

O problema acontece devido a um erro no momento da instalação do .Net 3.5.1 que faz com que posteriormente quando o MSI installer verifique as dependências ele reconheça a versão incorreta do framework. Ao invés de reconhecer como tendo o SP1 instalado (que é a unica possibilidade no Windows 2008 R2) ele reconhece como sendo o .Net framework 3.5 RTM que está presente.

Uma forma de confirmar que esse é o problema é executar a ferramenta .Net verification tool que pode ser obtida no link no final do post. Você verá que a ferramenta reporta o framework 3.5 sem service pack instalado.

Existem duas formas de corrigir o problema:

1. Alterar o valor das seguintes chaves no registro de 0 para 1

HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\SP

HKLM\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5\SP

2. Desinstalar o .Net 3.5.1 e reinstalar através do Server Manager.

Após realizar um dos passos acima você conseguirá instalar o Windows Azure Tools e os outros componentes com sucesso.

Links adicionais

Azure SDK com o Web Platform Installer

http://go.microsoft.com/fwlink/?LinkID=254269&clcid=0x409

.Net verification tool

http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx