> 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/analysing-chocolatey.log.md).

# Analisar chocolatey.log

Esta parte centra-se em como resolver problemas de instalações falhadas de pacotes chocolatey.

## Requisitos

Os seguintes itens são necessários ou úteis para a resolução de problemas:

* Arquivos de log, especialmente `chocolatey.log`.
* Editor de texto de sua preferência com recursos avançados de pesquisa, recomendado: Notepad++, Visual Studio Code.
* ID do pacote do pacote com falha, como `generic-mozilla-firefox`.
* Carimbo de data e hora das instalações com falha (não obrigatório, mas útil).

## Estrutura do arquivo de log

### Ponto de entrada e informações de depuração

Para encontrar o ponto de entrada da instalação do pacote dentro do `chocolatey.log` use esta cadeia de pesquisa exata (adapte o id do pacote conforme necessário): `generic-mozilla-firefox --version=` (se você tiver certeza da string de versão, é claro que pode adicioná-la, mas não é obrigatório)

Dessa forma, você encontrará o(s) ponto(s) de início do processo do choco para a instalação ou atualização do ID de pacote informado.

A linha completa no log pode se parecer com isto, em vez de `atualização` também pode ser `instalação` dependendo da operação:

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

```log
2023-08-22 15:05:36,664 [DEBUG] - Command line: "C:\ProgramData\chocolatey\choco.exe" upgrade generic-mozilla-firefox --version=117.0.0.0 --force --yes --ignore-package-exit-codes --timeout=14400 --params="/BlockAddons:1"
```

{% endcode %}

<figure><img src="https://686519968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2F3sKmjG2RmTkw8ASm0DuU%2Fchoco-install-entry-point.png?alt=media&amp;token=3af090ef-6f67-4b41-afcf-42cef588b274" alt=""><figcaption><p>Ponto de entrada de uma instalação do choco dentro de chocolatey.log</p></figcaption></figure>

Esta linha já contém algumas informações importantes, como o número da versão do pacote a ser instalado, bem como os parâmetros usados (argumentos do pacote configurados no Portal do RealmJoin).

As linhas a seguir conterão muita informação de depuração (não relevante); entre outras coisas, o conteúdo completo de chocolateyInstall.ps1 será exibido.\
Dentro das informações de depuração, você encontrará as duas seções `RJAppDeployToolkit: Input Environment Variables` e `RJAppDeployToolkit: Resulting Variables`. Ambas as seções estão localizadas lado a lado e mostram variáveis e valores fornecidos pelo `RJAppDeployToolkit`

<figure><img src="https://686519968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FOct87LKFOgCV8wKnUwAY%2FRJAppDeployToolkit-output.png?alt=media&amp;token=8ab87662-964c-4465-9822-018b56dacafa" alt=""><figcaption><p>Saída do RJAppDeployToolkit</p></figcaption></figure>

### Processo de instalação

O script real de instalação do pacote começa após a seguinte mensagem de log:

{% code overflow="wrap" %}

```log
2023-08-22 15:05:47,000 [DEBUG] - Running 'C:\ProgramData\chocolatey\lib\generic-mozilla-firefox\tools\chocolateyInstall.ps1'
```

{% endcode %}

Dependendo do script de instalação do pacote e do estado do cliente, a primeira etapa geralmente será verificar se o software já está instalado. Isso é feito para determinar se será necessária uma desinstalação antes da instalação real.\
Nos logs, isso pode ser rastreado usando uma ou mais das seguintes mensagens de log:

{% code overflow="wrap" %}

```log
2023-08-22 15:05:47,057 [DEBUG] - Entrou na função 'Get-RealmjoinRegistryUninstallInfo' com parâmetros [...]]
```

{% endcode %}

{% code overflow="wrap" %}

```log
2023-08-22 15:05:47,053 [DEBUG] - Entrou na função 'Uninstall-RealmjoinPackage' com parâmetros [...]]
```

{% endcode %}

Após a execução das verificações e das possíveis desinstalações, a instalação principal do aplicativo será iniciada, indicada pela seguinte mensagem de log (o nome do arquivo, é claro, será diferente):

{% code overflow="wrap" %}

```log
2023-08-22 15:05:47,858 [INFO ] - Starting RealmJoin-Install of Git-2.42.0-64-bit.exe
```

{% endcode %}

A instalação geralmente começa com o download do arquivo binário. O início e o fim do download são representados pelas seguintes mensagens de log:

{% code overflow="wrap" %}

```log
2023-08-22 15:05:48,273 [INFO ] - Downloading generic-git-git from 'https://cdn.realmjoin.com/blobs/generic/generic-git-git/Git-2.42.0-64-bit.exe'

[...]

2023-08-22 15:05:57,293 [INFO ] - Download of Git-2.42.0-64-bit.exe (58.35 MB) completed.
```

{% endcode %}

Após concluir o download, o chocolatey verificará o hash do arquivo baixado e o comparará com o valor esperado. Se os hashes corresponderem, o arquivo de instalação será finalmente executado.\
A mensagem de log da execução pode ser encontrada pela seguinte mensagem de log:

{% code overflow="wrap" %}

```log
2023-08-22 15:06:00,743 [DEBUG] - Elevating Permissions and running ["C:\WINDOWS\TEMP\chocolatey\generic-git-git\2.42.0.0\Git-2.42.0-64-bit.exe" /verysilent /norestart /log="C:\WINDOWS\Logs\RealmJoin\Packages\generic-git-git\2023-08-22_15-05-47.916_generic-git-git_2.42.0.0_install_Git-2.42.0-64-bit.exe.log" ]. This may take a while, depending on the statements.
```

{% endcode %}

Esta mensagem inclui o caminho do arquivo para o arquivo de instalação, bem como a linha de comando completa, incluindo todos os parâmetros (silenciosos) usados para iniciar o arquivo de instalação. Ela também ajudará a encontrar o caminho relevante do arquivo de log da instalação, se ele for fornecido pelo arquivo de instalação e incluído no script do pacote.

Após o processo ser encerrado, outra mensagem de log será gravada, novamente incluindo o caminho completo do arquivo e todos os parâmetros. Além disso, essa mensagem também incluirá o código de saída retornado pelo processo de instalação, o indicador mais importante de uma instalação bem-sucedida ou malsucedida:

{% code overflow="wrap" %}

```log
2023-08-22 15:06:52,321 [DEBUG] - Command ["C:\WINDOWS\TEMP\chocolatey\generic-git-git\2.42.0.0\Git-2.42.0-64-bit.exe" /verysilent /norestart /log="C:\WINDOWS\Logs\RealmJoin\Packages\generic-git-git\2023-08-22_15-05-47.916_generic-git-git_2.42.0.0_install_Git-2.42.0-64-bit.exe.log" ] exited with '0'.
```

{% endcode %}

Dependendo do pacote, a instalação do pacote pode agora ser seguida pelas chamadas 'postActions', que podem ser algumas configurações do registro, remoção de ícones da área de trabalho ou até mesmo a execução de outro arquivo de instalação (recomeçando com o download desse arquivo). A parte de postActions será indicada pelas seguintes mensagens de início e fim no arquivo de log:

{% code overflow="wrap" %}

```log
2023-09-13 16:49:18,550 7224 [INFO ] - Running postActions...
2023-09-13 16:49:20,894 7224 [INFO ] - postActions finished.
```

{% endcode %}

O processo de instalação do chocolatey será encerrado com a seguinte mensagem de log (a redação pode variar dependendo de instalação / atualização):

{% code overflow="wrap" %}

```log
2023-09-13 17:01:39,433 8336 [INFO ] - The install of generic-google-chrome was successful.
```

{% endcode %}


---

# 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/analysing-chocolatey.log.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.
