Importante
Problema conhecido para o agente de infraestrutura v1.73.0 e superior: a instalação silenciosa do MSI (/qn) falhará com o erro 1603 se os parâmetros de configuração obrigatórios estiverem ausentes ou em sistemas com restrições rígidas de política de grupo do Windows.
Problema
- A instalação funcionou com a v1.72.x, mas falha com a v1.73.0 ou mais recente
- A instalação silenciosa do MSI é encerrada com o erro 1603
- Ocorre em sistemas Windows fortalecidos ou em conformidade com o CIS
- O serviço
newrelic-infranão foi criado
Causa
A partir da versão v1.73.0, o instalador do Windows MSI usa ações personalizadas adiadas do PowerShell para validar e gerar automaticamente o arquivo de configuração do agente durante a fase de instalação.
Esse erro é normalmente desencadeado por uma das duas causas a seguir:
- Parâmetros de instalação obrigatórios ausentes (mais comum): ao usar a opção
/qn(silenciosa), o script de ação personalizada do instalador falhará imediatamente e reverterá a instalação (erro 1603) se não forem passados explicitamenteGENERATE_CONFIG=trueeLICENSE_KEY=YOUR_LICENSE_KEYcomo argumentos de linha de comando. - Restrições de política de grupo do Windows: em sistemas Windows protegidos ou compatíveis com CIS, a configuração de política de grupo
HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer\DisableMSI(quando definida como1ou2) impede a execução dessas ações personalizadas adiadas do PowerShell, resultando em um erro 1603.
Solução
Etapa 1: garantir que os parâmetros obrigatórios sejam passados (solução principal)
Ao realizar uma instalação silenciosa, é obrigatório fornecer os parâmetros de configuração obrigatórios diretamente na linha de comando do msiexec.exe.
É necessário garantir que a instalação seja executada usando a seguinte sintaxe com inclusão de parâmetros:
msiexec.exe /qn /i PATH\TO\newrelic-infra.msi GENERATE_CONFIG=true LICENSE_KEY=YOUR_LICENSE_KEYObservação
O instalador requer esses parâmetros para concluir com êxito o ciclo de instalação silenciosa. Caso se deseje gerenciar ou substituir o arquivo newrelic-infra.yml após a instalação por meio de ferramentas externas de gerenciamento de configuração, ainda é necessário passar esses parâmetros para permitir que a MSI seja concluída com êxito.
Etapa 2: desativar temporariamente a restrição do MSI (para sistemas protegidos)
Se a instalação ainda falhar com o erro 1603 mesmo após a passagem dos parâmetros obrigatórios na Etapa 1, é provável que a política de segurança do sistema operacional esteja bloqueando as ações personalizadas do instalador.
Execute o seguinte script para desativar temporariamente a restrição do DisableMSI durante a instalação e restaurá-la imediatamente em seguida:
# Store original value$regPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Installer"$origValue = (Get-ItemProperty -Path $regPath -Name DisableMSI -ErrorAction SilentlyContinue).DisableMSI
try { # Temporarily allow MSI custom actions if (-not (Test-Path $regPath)) { New-Item -Path $regPath -Force | Out-Null } Set-ItemProperty -Path $regPath -Name DisableMSI -Value 0 -Type DWord -Force # Run the installation with mandatory parameters msiexec.exe /qn /i PATH\TO\newrelic-infra.msi GENERATE_CONFIG=true LICENSE_KEY=YOUR_LICENSE_KEY } finally { # Restore original value if ($null -ne $origValue) { Set-ItemProperty -Path $regPath -Name DisableMSI -Value $origValue -Type DWord -Force } else { Remove-ItemProperty -Path $regPath -Name DisableMSI -ErrorAction SilentlyContinue }}É possível usar este script do PowerShell para verificar previamente se a política DisableMSI existe e se é provável que cause problemas:
$regPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Installer"$disableMsi = (Get-ItemProperty -Path $regPath -Name DisableMSI -ErrorAction SilentlyContinue).DisableMSI
if ($null -eq $disableMsi -or $disableMsi -eq 0) { Write-Host "DisableMSI not set or set to 0 - Installation should work if mandatory parameters are supplied."} else { Write-Host "WARNING: DisableMSI is set to $disableMsi - Installation will likely fail with error 1603 due to OS security policy." Write-Host "Use the Step 2 workaround script above to install successfully."}