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)
Criação da página do Serviço do dpServer
 
Vinicius (discussão | contribs)
Sem resumo de edição
Linha 6: Linha 6:
=== 1.1. Alteração da Versão do Executável (Assembly) ===
=== 1.1. Alteração da Versão do Executável (Assembly) ===


* '''O que fazer:''' 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|nenhum|miniaturadaimagem|570x570px]]
* ''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.
Linha 12: Linha 12:
=== 1.2. Compilação em Modo Release ===
=== 1.2. Compilação em Modo Release ===


* '''O que fazer:''' Gerar os binários otimizados para o ambiente do cliente.
* 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.
* '''Como fazer:''' Alterar o seletor do Visual Studio de <code>Debug</code> para '''<code>Release</code>''' e executar o comando '''Recompilar Solução''' (''Rebuild Solution'').


=== 1.3. Montagem do Pacote de Atualização (Geração do ZIP/Diretório) ===
=== 1.3. Compilação e Geração do Instalador (.msi) ===
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.


* '''O que fazer:''' Separar apenas os arquivos necessários para a atualização e disponibilizá-los para a equipe de Atendimento.
# Na janela do ''Solution Explorer'', localize o projeto de instalação (geralmente chamado '''<code>dpServerSetup</code>''' ou '''<code>Setup</code>''').
* '''Arquivos Obrigatórios no Pacote:'''
# Clique com o botão direito sobre o projeto '''<code>dpServerSetup</code>''' e selecione '''Compilar''' (''Build'') ou ''Rebuild''.
** <code>dpServerService.exe</code> (Compilado em Release com a nova versão)
# O Visual Studio gerará os arquivos de instalação na pasta de saída do setup.
** <code>RegrasCamadaNegocio.dll</code>
# 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).
** <code>ClassesNegocio.dll</code>
# Disponibilize este arquivo '''.setup''' para a equipe de Atendimento.
** Novas dependências NuGet/DLLs de terceiros (se houver).
* ⚠️ '''REGRA CRÍTICA PARA DEV:''' '''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.


== 🛠️ 2. ESCOPO DO ATENDIMENTO / SUPORTE ==
== 🛠️ 2. ESCOPO DO ATENDIMENTO / SUPORTE ==
Linha 30: Linha 30:
=== 2.1. Primeira Instalação e Configuração do Ambiente ===
=== 2.1. Primeira Instalação e Configuração do Ambiente ===


* '''O que fazer:''' Instalar o serviço e parametrizar o arquivo 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>.msi</code> padrão no servidor do cliente. 2. Abrir o arquivo <code>dpServerService.exe.config</code> com o Bloco de Notas (como Administrador) 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. Configurar as credenciais de e-mail e SMTP para o envio de alertas.
* '''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.


=== 2.2. Gestão do Arquivo DpSettings.xml ===
=== 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.
* '''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).
* '''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>).
* '''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.3. Aplicação de Atualizações (Update de Versão) ===


* '''O que fazer:''' Alimentar o robô de atualização automática quando o Desenvolvimento liberar um pacote novo.
* '''O que fazer:''' Alimentar a pasta de atualização automática quando o Desenvolvimento liberar um pacote novo.
* '''Como fazer:'''
* '''Como fazer:'''
*# Certificar-se de que a subpasta '''<code>Atualizacao</code>''' existe dentro da pasta raiz do cliente (Ex: <code>C:\DpServer\Atualizacao</code>).
*# Certificar-se de que a subpasta '''<code>Atualizacao</code>''' existe dentro da pasta raiz do cliente (Ex: <code>C:\DpServer\Atualizacao</code>).

Edição das 17h12min de 28 de maio 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 (Dev)

1.1. 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.

1.2. 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.

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

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 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.

  1. Na janela do Solution Explorer, localize o projeto de instalação (geralmente chamado dpServerSetup ou Setup).
  2. Clique com o botão direito sobre o projeto dpServerSetup e 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 (e o setup.exe se houver).
  5. Disponibilize este arquivo .setup para a equipe de Atendimento.

🛠️ 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.

2.1. 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 .setup padrão no servidor do cliente. 2. Abrir o arquivo dpServerService.exe.config com o Bloco de Notas na pasta de instalação. 3. Configurar a chave CaminhoArquivos apontando para a pasta raiz acordada (Ex: value="C:\DpServer\"). 4. Verificar se as credenciais do email estão corretas.

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).
  • Como fazer: Copiar o arquivo DpSettings.xml do cliente e colá-lo dentro da pasta raiz configurada na chave CaminhoArquivos (Ex: dentro de C:\DpServer\).

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

  • O que fazer: Alimentar a pasta de atualização automática quando o Desenvolvimento liberar um pacote novo.
  • Como fazer:
    1. Certificar-se de que a subpasta Atualizacao existe dentro da pasta raiz do cliente (Ex: C:\DpServer\Atualizacao).
    2. Pegar os arquivos liberados pelo desenvolvimento (.exe e .dlls) e colá-los dentro dessa pasta \Atualizacao.
    3. 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)

  • O que fazer: Rodar alterações de schema antes de atualizar o serviço.
  • Como fazer: Se o desenvolvimento informar que a nova versão exige um campo ou tabela nova, o Atendimento deve rodar o script .sql no SQL Server do cliente ANTES de colocar os arquivos na pasta \Atualizacao.

📋 3. FLUXO DE TRABALHO COMBINADO (WORKFLOW)

  1. [DEV] Corrige o chamado, incrementa a versão do Assembly, compila em Release.
  2. [DEV] Gera uma pasta contendo apenas o .exe e as .dlls alteradas (sem o .config) e notifica o Atendimento.
  3. [ATENDIMENTO] (Se houver script de banco) Executa o script SQL no cliente.
  4. [ATENDIMENTO] Copia os arquivos recebidos do Dev e cola na pasta \Atualizacao do cliente.
  5. [SISTEMA] O serviço se atualiza sozinho e grava o sucesso na tabela dpServerLog.

🔍 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:

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.

Erro 1001 ao tentar reinstalar/desinstalar pelo painel?

  • Causa: A pasta do sistema em Program Files 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 dpServerService.exe lá dentro e tente desinstalar novamente pelo Painel de Controle.

Onde verificar o que aconteceu?

  1. No SQL Server: Execute a consulta SELECT TOP 50 * FROM dpServerLog ORDER BY DataHora DESC para ver o histórico do serviço.
  2. No arquivo de texto (Se o banco cair): Abra o arquivo dpServerApp.log localizado diretamente na pasta raiz configurada do cliente