# Resolução de problemas de pacotes chocolatey com falhas

Conforme explicado na seção anterior, a instalação de um pacote chocolatey consiste em várias etapas:

1. Inicialização do ambiente e das variáveis do chocolatey
2. Verificação de instalações existentes do software a ser instalado
3. Possível desinstalação de instalações existentes
4. Download de arquivos binários
5. Instalação propriamente dita usando os binários de instalação baixados.
6. Ações pós-instalação a serem executadas após a instalação

Embora cada etapa tenha a chance de falhar e fazer com que a instalação seja interrompida, a maior probabilidade de falhas está nas etapas 3, 4 e 5.

## Encontrando a mensagem de erro correta

É importante saber que toda instalação com falha retornará mensagens padrão da pilha de erros do chocolatey, que serão parecidas com esta:

{% code overflow="wrap" fullWidth="false" %}

```log
2021-08-23 09:48:58,465 [DEBUG] - Movendo 'C:\ProgramData\chocolatey\lib\generic-autodesk-navisworks-freedom-2022'
 para 'C:\ProgramData\chocolatey\lib-bad\generic-autodesk-navisworks-freedom-2022'
2021-08-23 09:48:58,480 [WARN ] - Esta é a tentativa 1/3. Tentando novamente após 300 milissegundos.
 Erro convertido em aviso:
 (5) Acesso negado: [\\?\C:\ProgramData\chocolatey\lib-bad\generic-autodesk-navisworks-freedom-2022]
```

{% endcode %}

O `Acesso negado` a mensagem pertence à pilha de erros padrão do chocolatey e deve ser ignorada. O erro real que está fazendo com que a instalação do pacote falhe está localizado em algum lugar nas linhas anteriores do arquivo de log. A busca pela tag `[ERROR]` ajudará a encontrar as mensagens corretas.

Veja como, neste exemplo, o erro real ocorre no topo (404 para o download), mas a pilha de erros do chocolatey imprime depois algumas mensagens enganosas de 'Acesso negado'.

<figure><img src="/files/9b95d74b0217dc13f67df46954f6053d516c4491" alt=""><figcaption><p>Erro real de download no topo seguido pela pilha de erros padrão do chocolatey na parte inferior, pode ser enganoso.</p></figcaption></figure>

## Exemplos de instalações com falha

### Erros ocorrendo durante a inicialização

Durante a fase de inicialização, erros podem ocorrer pelas seguintes razões:

* Problema com a própria instalação do chocolatey (configuração corrompida, arquivos ausentes):

{% code overflow="wrap" %}

```log
2023-10-10 10:28:32,523 [ERROR] - Erro ao desserializar resposta do tipo chocolatey.infrastructure.app.configuration.ConfigFileSettings:
 '.', o valor hexadecimal 0x00, é um caractere inválido. Linha 1, posição 1.
2023-10-10 10:28:32,535 [ERROR] - '.', o valor hexadecimal 0x00, é um caractere inválido. Linha 1, posição 1.
2023-10-10 10:28:32,537 [DEBUG] - Saindo com 1
```

{% endcode %}

{% hint style="warning" %}
Tenha cuidado, pois esta mensagem (ligeiramente semelhante) pode ocorrer no `chocolatey.log` também, mas isso é seguro ignorar e não requer nenhuma ação!

{% code overflow="wrap" %}

```log
2023-11-21 11:46:10,365 [ERROR] - Erro ao serializar o tipo chocolatey.infrastructure.app.configuration.ConfigFileSettings:
 O acesso ao caminho 'C:\ProgramData\chocolatey\config\chocolatey.config.update' foi negado.
```

{% endcode %}
{% endhint %}

* Problema de rede, quando o servidor nuget do RealmJoin não pode ser acessado, (veja [Considerações de Infraestrutura](/pt/implantacao-do-realmjoin/infrastructure.md#realmjoin-connection-endpoints)):

{% code overflow="wrap" %}

```log
2023-09-08 13:01:47,335 [ERROR] - generic-adobe-reader-dc-continuous não instalado. O pacote não foi encontrado com as fontes listadas.
```

{% endcode %}

* Problema com argumentos obrigatórios do pacote ausentes:

{% code overflow="wrap" %}

```log
2023-09-14 13:53:33,982 [ERROR] - ERROR: O argumento obrigatório 'Serial' não foi fornecido, abortando!
```

{% endcode %}

### Erros ocorrendo durante o download

Para erros envolvendo o download dos binários, a mensagem de erro normalmente incluirá a URL de download contendo `cdn.realmjoin.com`, exemplos:

{% code overflow="wrap" %}

```log
2023-10-16 13:04:52,952 [ERROR] - ERROR: O arquivo remoto não existe, não está autorizado ou é proibido para a URL 'https://cdn.realmjoin.com/blobs/generic/generic-adobe-acrobat-dc-continuous/AcrobatDCUpd2300620320.msp'. Exceção ao chamar "GetResult" com 0 argumento(s): "Não foi possível ler os dados da conexão de transporte: uma conexão estabelecida foi abortada pelo software na máquina host."
```

{% endcode %}

{% code overflow="wrap" %}

```log
2021-08-23 09:36:08,874 [ERROR] - ERROR: O arquivo remoto não existe, não está autorizado ou é proibido para a URL 'https://cdn.realmjoin.com/blobs/generic/generic-adobe-acrobat-dc-continuous/AcrobatDCUpd2300620320.msp'. Exceção ao chamar "GetResult" com 0 argumento(s): "Não há espaço suficiente em disco"
```

{% endcode %}

### Erros ocorrendo durante o processo de (des-)instalação

Erros ocorridos durante o processo real de (des-)instalação usando o arquivo binário baixado podem ser melhor solucionados com estas duas coisas:

1. O código de saída retornado pelo processo de instalação.
2. O arquivo de log escrito pelo processo de instalação, encontrado dentro de `C:\WINDOWS\Logs\RealmJoin\Packages\<package-id>\`, caso a possibilidade de escrever log seja fornecida pelo instalador.

{% hint style="info" %}
Quando um instalador MSI foi usado, os códigos de saída são padronizados e podem ser consultados [aqui](https://learn.microsoft.com/en-us/windows/win32/msi/error-codes). Além disso, os instaladores MSI sempre gravarão arquivos de log na pasta mencionada acima. Especialmente quando o código de saída `1603` foi retornado (erro MSI genérico), o arquivo de log MSI será obrigatório para a solução de problemas.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.realmjoin.com/pt/outros/troubleshooting/package-installation-issues/troubleshooting-failed-chocolatey-packages.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
