hazael escreveu:Achei isso muito prático, inteligente e gostaria de aprender.
Na prática você sabe, apenas não pensou em automático.
Como atualiza normalmente?
Entra na internet, faz download, confere, faz backup, copia EXE, altera estrutura, etc. etc.
É cada uma dessas etapas, através de programa, tomando os mesmos cuidados ou reforçando os cuidados até, tipo conferir o que baixou da internet pra ver se caiu conexão e ficou pela metade.
Baixar da internet: hbtip ou libcurl ou msxml
Conferir: salvar um crc32, tamanho, etc. pra conferir quando baixar
trocar EXE: neste tenho um intermediário que executa o exe mais novo, basta que seja gravado na pasta e pronto - salvo com outro nome e só renomeio quando tudo ok.
backup: zip
Atualizar estrutura: expulsar usuários do aplicativo pra mexer nos DBFs. Pode ser até dbCreate() e APPEND FROM ou algo parecido. Cuidado que ao contrário do Clipper, no Harbour não pode alterar o tipo de campo, e também teste pra ver se a capacidade numérica vai aguentar valores já salvos (isso mesmo)
É criar um modelo simples, fazer testes simples, depois testes cada vez mais abrangentes.
Pode começar fazendo atualizações sem importância, só de teste mesmo, pra ver se funciona.
Inventa um dbf qualquer pro aplicativo, só pra testar atualização, antes de fazer com os dbfs do aplicativo
E por aí vai.
Sem pressa... vai devagar pra ir preparando pra todas as exceções que poderiam acontecer.
Começa acompanhando... fazendo a mesma coisa de hoje, mas automático e olhando se deu algum problema. Fez sempre manual, então se acompanhar as primeiras atualizações automáticas, não vai ser trabalho a mais.
Primeira coisa o backup: ele é o ponto chave pra resolver qualquer problema das outras etapas.