Windows Installer: a instalação do MSI falha com o status de erro 1603
Durante o processo de distribuição de um pacote MSI para o Windows remoto Hosts Server 2012 R2 por meio do cmdlet Start-Process, encontrei um comportamento interessante. Em alguns casos, esse pacote MSI foi instalado sem problemas; em outros, estava falhando silenciosamente ao gerar um ID de evento 10837 no log do aplicativo.
Com o registro detalhado ativado, a seguinte mensagem de erro foi observada no arquivo de registro MSI:
Sucesso na instalação ou status de erro: 1603.
O status de erro 1603 está documentado no Microsoft Technet. No entanto, nenhum dos cenários listados no artigo se aplica ao meu caso. Consegui instalar esse pacote MSI localmente sem problemas, e o erro apareceu aleatoriamente ao fazer a instalação via PowerShell.
Com mais testes, percebi que o problema só estava aparecendo quando a conta do usuário, do qual o script estava sendo executado, nunca tinha feito logon anteriormente no sistema de destino.
Pedi a um de meus colegas, que tem um melhor entendimento de como o Windows Installer funciona, para ajudar neste caso. Após uma investigação completa, ele me indicou as seguintes linhas no arquivo de log MSI:
Aparentemente, em 2014 a Microsoft lançou um boletim de segurança MS14-049 contendo um patch para corrigir uma vulnerabilidade no serviço Windows Installer. No entanto, depois de instalar esta atualização de segurança, ela interrompe a instalação do pacote MSI. Isso está documentado como um ‘Problema conhecido 1’ no boletim e explicado com mais detalhes aqui.
Para resolver esse problema, a Microsoft recomenda instalar a atualização 3000988.
Outra opção, que é documentado no mesmo boletim na seção ‘Problema conhecido 2’, é desativar os programas afetados usando as configurações do registro. No entanto, essa solução alternativa implica mais trabalho manual e remove o recurso de segurança de defesa em profundidade para esses programas.
Eu testei essas opções e posso confirmar que ambas funcionam. Espero que este artigo economize seu tempo com a solução de um problema semelhante.