> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/pt/resolucao-de-problemas-e-faq/troubleshooting/package-installation-issues/troubleshooting-failed-chocolatey-packages.md).

# Resolução de problemas de pacotes Chocolatey falhados

Como explicado na secção anterior, uma instalação de um pacote chocolatey consiste em várias fases:

1. Inicialização do ambiente e das variáveis do chocolatey
2. Verificação de instalações existentes do software a instalar
3. Possível desinstalação de instalações existentes
4. Transferência de ficheiros binários
5. Instalação efetiva usando os binários de configuração descarregados.
6. Ações pós-instalação a executar após a instalação

Embora cada fase tenha a possibilidade de falhar e fazer abortar a instalação, a maior probabilidade de falhas está nas fases 3, 4 e 5.

## Encontrar a mensagem de erro correta

É importante saber que toda instalação falhada devolverá mensagens padrão da pilha de erros do chocolatey, que se parecerão com isto:

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

```log
2021-08-23 09:48:58,465 [DEBUG] - A mover '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. A tentar 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` mensagem pertence à pilha de erros padrão do chocolatey e deve ser ignorada. O erro real que está a causar a falha na instalação do pacote encontra-se algures nas linhas anteriores do ficheiro de registo. Procurar pelo marcador `[ERROR]` ajudará a encontrar as mensagens corretas.

Veja como, neste exemplo, o erro real ocorre no topo (404 para a transferência), 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 transferência no topo, seguido da pilha de erros padrão do chocolatey na parte inferior, pode ser enganador.</p></figcaption></figure>

## Exemplos de instalações falhadas

### Erros ocorridos durante a inicialização

Durante a fase de inicialização, podem ocorrer erros pelos seguintes motivos:

* Problema com a própria instalação do chocolatey (configuração danificada, ficheiros em falta):

{% code overflow="wrap" %}

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

{% endcode %}

{% hint style="warning" %}
Tenha cuidado, pois esta mensagem (ligeiramente semelhante) também pode ocorrer na `chocolatey.log` também, mas isto pode ser ignorado em segurança e não requer qualquer 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' é negado.
```

{% endcode %}
{% endhint %}

* Problema de rede, quando o servidor RealmJoin nuget não pode ser alcançado, (ver [Considerações de Infraestrutura](/pt/implementacao/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 a(s) origem(ns) listada(s).
```

{% endcode %}

* Problema com argumentos obrigatórios do pacote em falta:

{% code overflow="wrap" %}

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

{% endcode %}

### Erros ocorridos durante a transferência

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

{% code overflow="wrap" %}

```log
2023-10-16 13:04:52,952 [ERROR] - ERROR: O ficheiro remoto não existe, não está autorizado ou é proibido para o 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 é possível ler dados da ligação de transporte: Uma ligação estabelecida foi interrompida pelo software na máquina anfitriã."
```

{% endcode %}

{% code overflow="wrap" %}

```log
2021-08-23 09:36:08,874 [ERROR] - ERROR: O ficheiro remoto não existe, não está autorizado ou é proibido para o 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 no disco"
```

{% endcode %}

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

Os erros que ocorrem durante o processo real de (des-)instalação usando o ficheiro binário descarregado podem ser melhor diagnosticados com duas coisas:

1. O código de saída devolvido pelo processo de instalação.
2. O ficheiro de registo escrito pelo processo de instalação, encontrado em `C:\WINDOWS\Logs\RealmJoin\Packages\<package-id>\`, se o instalador disponibilizar a possibilidade de escrever registos.

{% hint style="info" %}
Quando foi usado um instalador MSI, 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 escreverão sempre ficheiros de registo para a pasta mencionada acima. Especialmente quando o código de saída `1603` foi devolvido (erro MSI genérico), o ficheiro de registo MSI será obrigatório para a resolução de problemas.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/pt/resolucao-de-problemas-e-faq/troubleshooting/package-installation-issues/troubleshooting-failed-chocolatey-packages.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
