Funcionamento do Updater (Problemas x Soluções)
O Updater é um sistema fundamental para a Alterdata, responsável por gerenciar e entregar atualizações para a maioria dos softwares desenvolvidos pela empresa. Para cumprir seu objetivo, ele utiliza diversas APIs e executa várias funções, garantindo que os clientes tenham acesso às versões mais recentes de seus sistemas.
1. Funções do Updater
O Updater desempenha um papel crucial na gestão de software, realizando as seguintes funções principais:
-
Entrega de Atualizações: O Updater baixa e distribui as atualizações dos sistemas para as máquinas dos clientes.
-
Gerenciamento de Versões: Garante que a versão correta da atualização seja baixada e que os arquivos de download estejam presentes na pasta designada. Ele também lida com problemas de MD5 (módulos do sistema), onde as versões podem estar corrompidas ou com o mesmo nome de versões antigas, exigindo que sejam renomeadas e anexadas novamente.
-
Verificação de Licença e Acesso: Interage com APIs para verificar a licença do cliente e garantir o acesso ao sistema.
-
Sincronização de Máquinas: Em redes com máquinas "master" e "slave", o Updater gerencia o download da versão pelo master e a sincronização com as slaves.
-
Download de Sistemas: Permite o download de sistemas através do Update Center.
2. Problemas Recorrentes e Soluções
Esta seção detalha os problemas mais comuns enfrentados com o Updater e as etapas para resolvê-los.
2.1. Atualização do Sistema
Problema 1: Updater baixou a atualização, mas não está entregando.
Verificação:
O Updater baixou a atualização para o código correto?
Sim
Use o aplicativo de teste na máquina do cliente para simular a solicitação e verificar se a entrega falha.
Não
O problema reside no download para o código incorreto.
O arquivo de download da versão está na pasta de downloads?
Sim
Procure ajuda.
Não
O problema é a ausência do arquivo.
Problema de Atualização MD5 (módulos do sistema): Indica que a versão do executável pode estar corrompida ou ter sido atualizada mantendo o mesmo nome da versão antiga no UpdateCenter.
Possível Solução: Anexe o executável da versão novamente, renomeando-o. Em alguns casos, é necessário remover o registro da versão na base do Updater para que ele entregue a atualização do MD5 ao sistema.
Problema 2: Updater não está baixando a atualização.
Verificação:
A versão está liberada para o cliente no UpdateCenter?
Sim
Confirme no endpoint de verificação de atualizações (Postman) se a versão é entregue na consulta20.
Se a atualização for entregue no Postman, analise a máquina do cliente para erros de download (verificar logs do Updater Manager ou log de eventos) ou outros impedimentos (ex: sistema registrado com outro código, versões superiores na base de dados)21.
Se a versão estiver liberada para o cliente (CRM, UF, cidade, etc.) mas não for entregue pelo Postman, pode ter ocorrido um problema no processamento da versão. Peça ajuda a alguém do dsn.cir22.
Não
Verifique com o responsável pela versão a possibilidade de liberá-la para o cliente23.
Problema 3: Updater não está baixando uma atualização e apresenta a mensagem:
"Solicitação da URL de download para o aplicativo apagar, setor: ERP, versão xxxxxxx Retorno: 1401 - Não existe no Updatecenter aplicativo com id 107".
-
Verificação: Verifique pela API solicitar_url_download se um link para download é gerado com o código do cliente e o ID da versão
Testes Adicionais: Se a URL não for gerada, teste com código CRM, CPF, CNPJ ou codigo_cliente
Problema 4: Updater não está baixando a atualização (genérico).
Testes:
-
Teste na sua máquina se o Updater baixa a versão com o código do cliente28.
-
Teste se o problema é para baixar um módulo específico ou qualquer módulo29.
-
Teste se o computador do cliente consegue acessar o UpdateCenter e baixar o sistema pelo "Download de versão".
Problema 5: Liberação de versão não processa o cliente - A versão está liberada no UpdateCenter, porém não baixa no cliente.
OBS: Em alguns casos, mesmo liberando o cliente no UpdateCenter, a versão não é liberada para ele, tendo que processar novamente o código do cliente. Isso ocorre por que hoje não conseguimos processar todos os clientes, mas nesses casos podemos fazer o seguinte procedimento:
1. Processar novamente o código do cliente pelo Postman:
Pegue o id_crm do cliente na API de licença http://updatecenter.alterdata.com.br/api/licenca pelo postman, e após processe o id_crm do mesmo no cron de atualizar cliente:
GET https://updatecenter.alterdata.com.br/api/cron/atualizar-cliente/?id_externo= com o id_crm do cliente inserido após o “externo=”
Após realizar esse procedimento, basta buscar atualização no UpdaterManager.exe do cliente e ver se a versão irá baixar.
2. Verificação de Máquina Master/Slave:
-
O Updater desta máquina está como master?
Sim: Vá para o item 3 (desativar antivírus).
Não:
a) Essa máquina é uma slave e possui um master?
-
-
-
-
-
Sim: Provavelmente o master ainda não fez o download da versão, o slave ainda não sincronizou a nova versão, ou a versão foi instalada manualmente em alguma máquina na rede (ou no master).
-
Não: Vá para o item "b" (acesso à internet).
-
-
-
-
b) Essa máquina possui acesso à internet e ao UpdateCenter?
-
-
-
-
-
Sim: Vá para o item 3 (desativar antivírus).
-
Não: Verifique o acesso à internet em outros sites e a existência de proxy na rede (configure-o se houver
-
-
-
-
3. A máquina possui antivírus?
Sim: Desative o antivírus e repita o teste.
Funcionou? Ótimo.
Não: Vá para o item 4 (reiniciar Updater).
4. Reinício Forçado do Updater:
Reinicie o Updater forçando-o como master e acompanhe os logs até o fim das verificações de atualização.
-
Identificou o log que corresponde à versão esperada?
Sim: Se souber resolver, siga em frente; caso contrário, peça ajuda
Não: Peça ajuda.
2.2. Acesso ao Sistema: Segurança
Problema 1: Sistema está sempre solicitando as informações do contador. 48
Verificação:
1. O campo logradouro está sendo informado com mais de 50 caracteres?
-
Sim: Esse é o problema, pois o limite para esse campo no Bimer é de 50 caracteres.
-
Não: Vá para o item 2 (licenças adicionais).
2. Verifique no Manager se a licença do cliente está carregando as licenças adicionais corretas
-
Sim: Consulte o bureau do cliente utilizando a aplicação de teste da DLL de segurança.
-
Não: Force a atualização da licença na máquina e verifique se o problema persiste.
Problema 2: Cliente não consegue acessar o sistema, não tem o aplicativo cadastrado no UpdateCenter.
Verificação:
1. O cliente tem o produto cadastrado no CRM?
-
Sim: Verifique no UpdateCenter se o aplicativo está cadastrado corretamente, conforme a licença do cliente.
Se não estiver cadastrado no UpdaterCenter, entre em contato com o setor responsável e solicite a criação do aplicativo. -
Não: Peça para verificar com a ADM e STAFF para incluir o produto no CRM corretamente.
Problema 3: Bloqueios de licença.
Verificação:
1. Pergunte se o cliente tem o produto em questão no CRM.
-
Não tem: O cliente deve entrar em contato com o setor responsável pela inclusão.
-
Sim, tem: Verifique se há alguma restrição, como inadimplência, produto cancelado, ou outros problemas de cadastro no CRM (ex: falta de CPF/CNPJ).
2. Pergunte se está apresentando a mensagem "Não foi possível obter a licença para o cliente com identificador".
-
Sim: Verifique se a versão foi liberada para esse cliente.
-
Não: Execute o Diagnóstico.
Problemas 4: Cliente encontrado/ Cliente não encontrado.
Verificação:
1. O cliente tem proxy na rede/máquina?
-
Sim: Vá no Manager do Updater e configure as informações de proxy, solicitando ao cliente que preencha essas informações.
-
Não: Possível falha de conexão; verifique se há antivírus, Warsaw, firewall ou outros aplicativos bloqueando o acesso.
2. Verificar categoria do cliente: Usuários com categoria de funcionário não vinculados a pessoas relacionadas (representação ou grupos internos da matriz, como Alterdata Suporte), somente vinculados ao código 900000, não conseguem acesso, pois o Updater não enxerga o 900000 para essa categoria.
3. Às vezes, o código do cliente realmente não existe na base de dados. Force a licença do cliente e verifique se a API traz a licença corretamente.
4. Verifique se o cliente tem bureau vinculado. Clientes da linha Pack não podem ter essa informação em branco no cadastro.
5. Verifique se o passaporte do cliente tem o código do passaporte vinculado.
Problema 5: "Este computador não pode ser identificado"
Ao clicar em alterar autenticação, apresenta o erro: "o inicializador de tipo de 'Alterdata. Updater. Aucrmditoria. AuditoriaUpdater' acionou uma exceção".
Solução vista: Em um caso similar, onde no redfrom.dll apresentava a mesma mensagem (problema para ler a DLL de segurança), o sistema acessou normalmente após reiniciar a máquina.
Problema 6: "Object reference not set to an instance of an object.".
Ao tentar autenticar o passaporte na abertura do sistema, apresenta o erro: "Object reference not set to an instance of an object.".
Solução: Quando o Redfrom.dll retornava o mesmo erro como código http-3, mas com outro passaporte funcionava, a base do Updater em C:\ProgramData\Alterdata\AutoUpdater\dados foi apagada e o problema não ocorreu mais.
Isso ocorre, pois alguma informação nula foi preenchida na licença.
🧠 Linha de Raciocínio
Updater bloqueando/permitindo acesso ao sistema :
-
Verificar no CRM se o bloqueio/permissão está de acordo com as informações de produto/características do cliente
-
Verificar pelo DLL From /ReadDllFromCSharp qual a resposta do Permissão V2.
-
Verificar pelo manager (botão escondido) se o sistema está autorizado, comparar com a resposta da api de licença. Caso seja necessário forçar atualização da licença.
Updater baixou atualização, mas não entrega:
-
Verificar por qual identidade foi feito o download
-
Verificar se pelo app azul entrega a atualização
Updater não baixa atualização para um sistema:
-
Verificar pela console se o código/cnpj/cpf do cliente faz chamada para este sistema.
-
Verificar pela console apresenta algum erro ao solicitar download.
-
Verifique se o aplicativo existe na base do updater e qual identidade está vinculada.
-
Verificar se a api “Verificar atualizações” entrega a versão.
-
Verificar se na base não existe uma versão >= que a versão que precisa baixar;
-
Verificar se o cliente acessa o site do update center e faz download de versão;
-
Desativar firewall/Antivírus
Versão liberada para um cliente, mas a api não entrega:
-
Verificar como foi a liberação (crm, cidade, uf, característica ou todos). Caso tenha sido por região, verifique o endereço do cliente no crm.
-
Verificar se a versão é homologada e o cliente possui alguma característica que impeça liberação;
-
Verificar Maior data entre Carência,Validade da cobrança e Alteração da situação do produto;
|
Assinatura/Aluguel |
Com título de renegociação |
Demonstração |
|
Não atualiza |
Vencido: Se baseia na data de ativação da inadimplência |
St. Prod : Demonstração |
|
Não utiliza |
A vencer: Pode atualizar com versões liberadas até o primeiro título a vencer |
Tp. Mov. Cob: Demonstração |
|
- |
- |
Não pode estar em branco e não pode ser diferente de demonstração |
2.3. Acesso ao Sistema: Updater Parado
Problema 1: Serviço do Updater parado.
Verificação:
1. É possível iniciar o serviço manualmente?
- Sim: Quando a máquina é reiniciada, o serviço volta a ficar parado?
-
-
a. Procure no log de eventos do sistema por um log do Service Control Manager com data/hora próxima da última inicialização da máquina, contendo:
"Tempo limite esgotado (30000 milissegundos) ao aguardar a conexão do serviço Alterdata Updater."
ou
"Não foi possível iniciar o serviço Alterdata Updater devido ao seguinte erro: O serviço não respondeu à requisição de início ou controle em tempo hábil."
-
-
Encontrou algum desses logs?
Sim: Realize o procedimento de criação da chave no regedit (...\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control, Chave: ServicesPipeTimeout do tipo DWORD (32 bits), valor Hexadecimal 240000) OU instale uma versão do Updater que possua o NSSM.
-
-
-
b. Procure no log de eventos do aplicativo por algum log de erro do Updater que possa ter encerrado o processo. Se encontrar, informe a equipe de desenvolvimento.
-
-
- Não: Procure a equipe de desenvolvimento.
2. O serviço Alterdata Updater está instalado nos serviços do Windows?
Sim: Procure nos logs de eventos do aplicativo por algum log de erro do Updater que possa ter encerrado o processo. Se encontrar, informe a equipe de desenvolvimento. Desabilite firewall, Warsaw e antivírus, pois podem bloquear o serviço.
Não: Execute o arquivo install.bat na pasta de instalação do Updater. Se não resolver, vá para a dica 3.
3. O serviço do Updater não instala.
-
Desabilite firewall, Warsaw e antivírus (principalmente AVG).
-
Caso não resolva, verifique o .NET Framework. Peça para o cliente desinstalar e rode o instalador full. Para reparar o framework nativo, utilize o link: https://support.microsoft.com/pt-br/help/306160/how-to-repair-an-existing-installation-of-the-net-framework
Problema 2: Serviço do Updater rodando (mas com falha no funcionamento).
Verificação:
Execute o Diagnóstico.
-
Conseguiu localizar o problema pelo Diagnóstico?
Sim: Se souber resolver, vá em frente.
Não: Peça ajuda!
Problema 3: Não foi possível se conectar ao link http://localhost:8766
Verificação:
Pergunte se a máquina/rede possui algum proxy.
-
Sim: Vá no Manager do Updater e configure as informações de proxy, solicitando ao cliente que preencha esses dados.
-
Não: Possível falha de conexão; verifique se há antivírus, Warsaw, firewall ou outros aplicativos bloqueando o acesso.