DPServer - Serviço: mudanças entre as edições

De Base de Conhecimentos da DataPlus Sistemas
Ir para navegação Ir para pesquisar
Vinicius (discussão | contribs)
Sem resumo de edição
Vinicius (discussão | contribs)
Sem resumo de edição
 
(6 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 2: Linha 2:
Este documento define claramente o escopo de atuação da equipe de '''Desenvolvimento''' e da equipe de '''Atendimento/Suporte''' no processo de geração de versões, instalação e atualização do serviço <code>dpServer</code>.
Este documento define claramente o escopo de atuação da equipe de '''Desenvolvimento''' e da equipe de '''Atendimento/Suporte''' no processo de geração de versões, instalação e atualização do serviço <code>dpServer</code>.


== 💻 1. ESCOPO DO DESENVOLVIMENTO (Dev) ==
== 💻 1. ESCOPO DO DESENVOLVIMENTO ==


=== 1.1. Alteração da Versão do Executável (Assembly) ===
=== Alteração da Versão do Executável (Assembly) ===


* Incrementar o número da versão física do arquivo sempre que houver modificações.
* Incrementar o número da versão física do arquivo sempre que houver modificações.
* '''Como fazer:''' No Visual Studio, acesse as propriedades do projeto <code>dpServerService</code> -> Aba '''Aplicativo''' -> Botão '''Informações do Assembly...''' -> Incremente a '''Versão do assembly''' e '''Versão do arquivo''' (Ex: <code>1.0.0.0</code> para <code>1.1.0.0</code>).[[Arquivo:Mudança de versão - dpServerService.png|nenhum|miniaturadaimagem|570x570px]]
* '''Como fazer:''' No Visual Studio, acesse as propriedades do projeto <code>dpServerService</code> -> Aba '''Aplicativo''' -> Botão '''Informações do Assembly...''' -> Incremente a '''Versão do assembly''' e '''Versão do arquivo''' (Ex: <code>1.0.0.0</code> para <code>1.1.0.0</code>).[[Arquivo:Mudança de versão - dpServerService.png|miniaturadaimagem|785x785px|centro]]
* ''Nota:'' Nunca utilize a aba "Publicar" (ClickOnce), pois o serviço não lê essa numeração.
* ''Nota:'' Nunca utilize a aba "Publicar" (ClickOnce), pois o serviço não lê essa numeração.


=== 1.2. Compilação em Modo Release ===
=== Compilação em Modo Release ===


* Alterar o seletor do Visual Studio de <code>Debug</code> para '''<code>Release</code>''' e executar o comando '''Recompilar Solução''' (''Rebuild Solution'') dos dois projetos.
* Alterar o seletor do Visual Studio de <code>Debug</code> para '''<code>Release</code>''' e executar o comando '''Recompilar Solução''' (''Rebuild Solution'') dos dois projetos.


=== 1.3. Compilação e Geração do Instalador (.msi) ===
=== Compilação e Geração do Instalador (.msi) ===
Separar apenas os arquivos necessários para a atualização e disponibilizá-los para a equipe de Atendimento.
 
O projeto possui um projeto de Setup integrado (usando Microsoft Visual Studio Installer Projects).
O projeto possui um projeto de Setup integrado (usando Microsoft Visual Studio Installer Projects).
Separar apenas os arquivos necessários para a atualização e disponibilizá-los para a equipe de Atendimento.
⚠️ '''REGRA:''' '''NUNCA''' inclua o arquivo <code>dpServerService.exe.config</code> (App.Config) no pacote de atualização. O envio deste arquivo destrói as configurações customizadas do cliente, pois é lá que fica configurado o caminho dos arquivos de atualização.


# Na janela do ''Solution Explorer'', localize o projeto de instalação (geralmente chamado '''<code>dpServerSetup</code>''' ou '''<code>Setup</code>''').
# Na janela do ''Solution Explorer'', localize o projeto de instalação ('''<code>dpServerService.Setup</code>''') .
# Clique com o botão direito sobre o projeto '''<code>dpServerSetup</code>''' e selecione '''Compilar''' (''Build'') ou ''Rebuild''.
# Clique com o botão direito sobre o projeto '''<code>dpServerService.Setup</code>'''e selecione '''Compilar''' (''Build'') ou ''Rebuild''.
# O Visual Studio gerará os arquivos de instalação na pasta de saída do setup.
# O Visual Studio gerará os arquivos de instalação na pasta de saída do setup.
# Navegue até a pasta física do projeto de setup (Ex: <code>...\</code><code>dpServerService.Setup\Release\</code>) e copie o arquivo '''<code>dpServerService.Setup</code>''' (e o <code>setup.exe</code> se houver).
# Navegue até a pasta física do projeto de setup (Ex: <code>...\</code><code>dpServerService.Setup\Release\</code>) e copie o arquivo '''<code>dpServerService.Setup.msi</code>''' (e o <code>setup.exe</code> se houver).
# Disponibilize este arquivo '''.setup''' para a equipe de Atendimento.
# Disponibilize estes arquivos para a equipe de Atendimento.
⚠️ '''REGRA:''' '''NUNCA''' inclua o arquivo <code>dpServerService.exe.config</code> (App.Config) no pacote de atualização. O envio deste arquivo destrói as configurações customizadas do cliente, pois é lá que fica configurado o caminho dos arquivos de atualização.


== 🛠️ 2. ESCOPO DO ATENDIMENTO / SUPORTE ==
== 🛠️ 2. ESCOPO DO ATENDIMENTO / SUPORTE ==
O Atendimento é responsável pela implantação no servidor do cliente, configuração dos ambientes, parametrização dos arquivos locais e aplicação de atualizações enviadas pelo desenvolvimento.
O Atendimento é responsável pela implantação no servidor do cliente, configuração dos ambientes, parametrização dos arquivos locais e aplicação de atualizações enviadas pelo desenvolvimento.


=== 2.1. Primeira Instalação e Configuração do Ambiente ===
=== Primeira Instalação e Configuração do Ambiente ===


* '''O que fazer:''' Instalar o serviço e parametrizar o arquivo (<code>dpServerService.exe.config</code>) de configuração de acordo com a realidade de cada cliente.
* '''O que fazer:''' Instalar o serviço e parametrizar o arquivo (<code>dpServerService.exe.config</code>) de configuração de acordo com a realidade de cada cliente.
* '''Como fazer:''' 1. Executar o instalador <code>.setup</code> padrão no servidor do cliente. 2. Abrir o arquivo <code>dpServerService.exe.config</code> com o Bloco de Notas na pasta de instalação. 3. Configurar a chave '''<code>CaminhoArquivos</code>''' apontando para a pasta raiz acordada (Ex: <code>value="C:\DpServer\"</code>). 4. Verificar se as credenciais do email estão corretas.
* '''Como fazer:''' 1. Executar o instalador <code>.msi</code> padrão no servidor do cliente.  
Clique em '''avançar''':
[[Arquivo:Instalação setup .msi 1 - dpServerService.png|centro|miniaturadaimagem|471x471px]]
Escolha o caminho de instalação e clique em '''avançar''':
[[Arquivo:Instalação setup .msi 2 - dpServerService.png|centro|miniaturadaimagem|486x486px]]
Clique em '''avançar''':
[[Arquivo:Instalação setup .msi 3 - dpServerService.png|centro|miniaturadaimagem|496x496px]]


=== 2.2. Gestão do Arquivo DpSettings.xml ===


* '''O que fazer:''' Garantir que o arquivo de conexão com o banco de dados esteja no local correto determinado pela configuração (Disponibilizado na pasta de instalação).
Aguarde a instalação concluir e clique em '''fechar'''.
* '''Como fazer:''' Copiar o arquivo <code>DpSettings.xml</code> do cliente e colá-lo dentro da pasta raiz configurada na chave <code>CaminhoArquivos</code> (Ex: dentro de <code>C:\DpServer\</code>).[[Arquivo:DpSettings - dpServerService.png|nenhum|miniaturadaimagem|422x422px]]


=== 2.3. Aplicação de Atualizações (Update de Versão) ===
* 2. Abrir o arquivo <code>dpServerService.exe.config</code> com o Bloco de Notas na pasta de instalação Ex: <code>C:\Program Files (x86)\...\dpServerService.Setup</code>.
* 3. Configurar a chave '''<code>CaminhoArquivos</code>''' apontando para a pasta raiz acordada (Ex: <code>value="C:\DpServer\"</code>). '''Sugestão:''' pasta de arquivos de instalações dos outros sistemas.
[[Arquivo:AppConfig - dpServerService.png|centro|miniaturadaimagem|711x711px]]
* 4. Verificar se as credenciais do email estão corretas.
* 5. Configurar as informações do banco de dados (dbServer e DataBase).
* 6. Informar o código da empresa ativa. (A empresa configurada servirá como padrão para as regras de negócio que não possuem essa informação).


* '''O que fazer:''' Alimentar a pasta de atualização automática quando o Desenvolvimento liberar um pacote novo.
=== Iniciando o serviço. ===
* '''Como fazer:'''
'''Primeira Instalação:''' > Após concluir as configurações nos arquivos, é válido verificar se o serviço do Windows foi iniciado. Siga os passos abaixo:
*# Certificar-se de que a subpasta '''<code>Atualizacao</code>''' existe dentro da pasta raiz do cliente (Ex: <code>C:\DpServer\Atualizacao</code>).
*# Pegar os arquivos liberados pelo desenvolvimento (<code>.exe</code> e <code>.dlls</code>) e colá-los '''dentro''' dessa pasta <code>\Atualizacao</code>.
*# O serviço detectará os arquivos novos, fará a substituição e reiniciará de forma 100% automatizada em até 5 minutos.


=== 2.4. Atualização de Banco de Dados (Scripts SQL) ===
# Pressione '''Win + R''', digite <code>services.msc</code> e pressione '''Enter'''.
# Procure pelo serviço '''dpServer''' (caso não o encontre, clique em "Atualizar").
# Certifique-se de que o status na coluna correspondente está em '''"Em execução"'''. Caso esteja '''"Iniciando"''' aguarde alguns segundos e atualize.[[Arquivo:Serviços - dpServerServico.png|centro|miniaturadaimagem|712x712px]]


* '''O que fazer:''' Rodar alterações de schema antes de atualizar o serviço.
=== Aplicação de Atualizações (Update de Versão) ===
* '''Como fazer:''' Se o desenvolvimento informar que a nova versão exige um campo ou tabela nova, o Atendimento deve rodar o script <code>.sql</code> no SQL Server do cliente '''ANTES''' de colocar os arquivos na pasta <code>\Atualizacao</code>.
* Certificar-se de que a subpasta '''<code>Atualizacao</code>''' existe (caso não exista, criar exatamente com esse nome) dentro da pasta raiz do cliente (Ex: <code>C:\DpServer\Atualizacao</code>).
* Pegar os arquivos liberados pelo desenvolvimento (<code>.exe</code> e <code>.dlls</code>) e colá-los '''dentro''' dessa pasta <code>\Atualizacao</code>.
* O serviço detectará os arquivos novos, fará a substituição e reiniciará de forma 100% automatizada em até 5 minutos.


== 📋 3. FLUXO DE TRABALHO COMBINADO (WORKFLOW) ==
== 🔍 3. GUIA DE RESOLUÇÃO DE PROBLEMAS ==
 
# '''[DEV]''' Corrige o chamado, incrementa a versão do Assembly, compila em Release.
# '''[DEV]''' Gera uma pasta contendo apenas o <code>.exe</code> e as <code>.dlls</code> alteradas (sem o <code>.config</code>) e notifica o Atendimento.
# '''[ATENDIMENTO]''' ''(Se houver script de banco)'' Executa o script SQL no cliente.
# '''[ATENDIMENTO]''' Copia os arquivos recebidos do Dev e cola na pasta <code>\Atualizacao</code> do cliente.
# '''[SISTEMA]''' O serviço se atualiza sozinho e grava o sucesso na tabela <code>dpServerLog</code>.
 
== 🔍 4. GUIA DE RESOLUÇÃO DE PROBLEMAS (Exclusivo Atendimento) ==
Se a atualização falhar ou o serviço não iniciar, o Atendimento deve seguir este roteiro de checagem:
Se a atualização falhar ou o serviço não iniciar, o Atendimento deve seguir este roteiro de checagem:


Linha 65: Linha 68:


* '''Causa 1:''' Os arquivos foram colocados na pasta errada. Certifique-se de que estão dentro da subpasta <code>\Atualizacao</code>.
* '''Causa 1:''' Os arquivos foram colocados na pasta errada. Certifique-se de que estão dentro da subpasta <code>\Atualizacao</code>.
* '''Causa 2:''' O Desenvolvimento esqueceu de mudar a versão do Assembly. Abra as propriedades do arquivo <code>.exe</code> enviado pelo Dev, vá na aba ''Detalhes'' e verifique se a versão é realmente maior do que a que já está rodando.
* '''Causa 2:''' O Desenvolvimento esqueceu de mudar a versão do Assembly. Abra as propriedades do arquivo <code>.exe</code> enviado pelo Dev, vá na aba ''Detalhes'' e verifique se a versão é realmente maior do que a que já está rodando.[[Arquivo:Propriedades - dpServerService.png|miniaturadaimagem|529x529px|centro]]
 
=== Erro 1001 ao tentar reinstalar/desinstalar pelo painel? ===
 
* '''Causa:''' A pasta do sistema em <code>Program Files</code> foi deletada manualmente antes da desinstalação.
* '''Solução:''' Recrie a pasta exatamente com o nome que o erro aponta, cole qualquer cópia do <code>dpServerService.exe</code> lá dentro e tente desinstalar novamente pelo Painel de Controle.


=== Onde verificar o que aconteceu? ===
=== Onde verificar o que aconteceu? ===


# '''No SQL Server:''' Execute a consulta <code>SELECT TOP 50 * FROM dpServerLog ORDER BY DataHora DESC</code> para ver o histórico do serviço.
# '''Logs do dpServer:''' Para visualizar os logs, basta dar um duplo clique sobre o ícone de status.:[[Arquivo:Logs do DpServer - dpServerService.png|miniaturadaimagem|847x847px|centro]]
# '''No arquivo de texto (Se o banco cair):''' Abra o arquivo <code>dpServerApp.log</code> localizado diretamente na pasta raiz configurada do cliente
# '''No arquivo de texto:''' Abra o arquivo <code>dpServerApp.log</code> localizado diretamente na pasta raiz configurada do cliente[[Arquivo:Logs do DpServer .txt - dpServerService.png|miniaturadaimagem|766x766px|centro]]
# '''E-mail de avisos:''' Diferente dos outros logs, o log de e-mail será '''enviado''' somente quando ocorrerem erros no processamento:[[Arquivo:Logs do DpServer e-mail - dpServerService.png|miniaturadaimagem|766x766px|centro]]

Edição atual tal como às 11h52min de 10 de junho de 2026

📖 MANUAL DE DEPLOY E ATUALIZAÇÃO: Matriz de Responsabilidades (dpServer)

Este documento define claramente o escopo de atuação da equipe de Desenvolvimento e da equipe de Atendimento/Suporte no processo de geração de versões, instalação e atualização do serviço dpServer.

💻 1. ESCOPO DO DESENVOLVIMENTO

Alteração da Versão do Executável (Assembly)

  • Incrementar o número da versão física do arquivo sempre que houver modificações.
  • Como fazer: No Visual Studio, acesse as propriedades do projeto dpServerService -> Aba Aplicativo -> Botão Informações do Assembly... -> Incremente a Versão do assembly e Versão do arquivo (Ex: 1.0.0.0 para 1.1.0.0).
  • Nota: Nunca utilize a aba "Publicar" (ClickOnce), pois o serviço não lê essa numeração.

Compilação em Modo Release

  • Alterar o seletor do Visual Studio de Debug para Release e executar o comando Recompilar Solução (Rebuild Solution) dos dois projetos.

Compilação e Geração do Instalador (.msi)

Separar apenas os arquivos necessários para a atualização e disponibilizá-los para a equipe de Atendimento.

O projeto possui um projeto de Setup integrado (usando Microsoft Visual Studio Installer Projects).

  1. Na janela do Solution Explorer, localize o projeto de instalação (dpServerService.Setup) .
  2. Clique com o botão direito sobre o projeto dpServerService.Setupe selecione Compilar (Build) ou Rebuild.
  3. O Visual Studio gerará os arquivos de instalação na pasta de saída do setup.
  4. Navegue até a pasta física do projeto de setup (Ex: ...\dpServerService.Setup\Release\) e copie o arquivo dpServerService.Setup.msi (e o setup.exe se houver).
  5. Disponibilize estes arquivos para a equipe de Atendimento.

⚠️ REGRA: NUNCA inclua o arquivo dpServerService.exe.config (App.Config) no pacote de atualização. O envio deste arquivo destrói as configurações customizadas do cliente, pois é lá que fica configurado o caminho dos arquivos de atualização.

🛠️ 2. ESCOPO DO ATENDIMENTO / SUPORTE

O Atendimento é responsável pela implantação no servidor do cliente, configuração dos ambientes, parametrização dos arquivos locais e aplicação de atualizações enviadas pelo desenvolvimento.

Primeira Instalação e Configuração do Ambiente

  • O que fazer: Instalar o serviço e parametrizar o arquivo (dpServerService.exe.config) de configuração de acordo com a realidade de cada cliente.
  • Como fazer: 1. Executar o instalador .msi padrão no servidor do cliente.

Clique em avançar:

Escolha o caminho de instalação e clique em avançar:

Clique em avançar:


Aguarde a instalação concluir e clique em fechar.

  • 2. Abrir o arquivo dpServerService.exe.config com o Bloco de Notas na pasta de instalação Ex: C:\Program Files (x86)\...\dpServerService.Setup.
  • 3. Configurar a chave CaminhoArquivos apontando para a pasta raiz acordada (Ex: value="C:\DpServer\"). Sugestão: pasta de arquivos de instalações dos outros sistemas.
  • 4. Verificar se as credenciais do email estão corretas.
  • 5. Configurar as informações do banco de dados (dbServer e DataBase).
  • 6. Informar o código da empresa ativa. (A empresa configurada servirá como padrão para as regras de negócio que não possuem essa informação).

Iniciando o serviço.

Primeira Instalação: > Após concluir as configurações nos arquivos, é válido verificar se o serviço do Windows foi iniciado. Siga os passos abaixo:

  1. Pressione Win + R, digite services.msc e pressione Enter.
  2. Procure pelo serviço dpServer (caso não o encontre, clique em "Atualizar").
  3. Certifique-se de que o status na coluna correspondente está em "Em execução". Caso esteja "Iniciando" aguarde alguns segundos e atualize.

Aplicação de Atualizações (Update de Versão)

  • Certificar-se de que a subpasta Atualizacao existe (caso não exista, criar exatamente com esse nome) dentro da pasta raiz do cliente (Ex: C:\DpServer\Atualizacao).
  • Pegar os arquivos liberados pelo desenvolvimento (.exe e .dlls) e colá-los dentro dessa pasta \Atualizacao.
  • O serviço detectará os arquivos novos, fará a substituição e reiniciará de forma 100% automatizada em até 5 minutos.

🔍 3. GUIA DE RESOLUÇÃO DE PROBLEMAS

Se a atualização falhar ou o serviço não iniciar, o Atendimento deve seguir este roteiro de checagem:

O serviço não atualizou automaticamente?

  • Causa 1: Os arquivos foram colocados na pasta errada. Certifique-se de que estão dentro da subpasta \Atualizacao.
  • Causa 2: O Desenvolvimento esqueceu de mudar a versão do Assembly. Abra as propriedades do arquivo .exe enviado pelo Dev, vá na aba Detalhes e verifique se a versão é realmente maior do que a que já está rodando.

Onde verificar o que aconteceu?

  1. Logs do dpServer: Para visualizar os logs, basta dar um duplo clique sobre o ícone de status.:
  2. No arquivo de texto: Abra o arquivo dpServerApp.log localizado diretamente na pasta raiz configurada do cliente
  3. E-mail de avisos: Diferente dos outros logs, o log de e-mail será enviado somente quando ocorrerem erros no processamento: