WindevBrasil - Fórum Windev, Webdev e WindevMobile

Dúvidas e soluções => Windev, WebDev e WindevMobile => Tópico iniciado por: AvelinoBrun em Junho 05, 2014, 08:51:42 am

Título: Atualização programa no cliente via página web
Enviado por: AvelinoBrun em Junho 05, 2014, 08:51:42 am
Bom dia!

Pretendo que na tela de login que o cliente possa atualizar o programa clicando em um icone
que chamará uma página da web onde tem o sistema atualizado.
Preciso que o programa chame a página e encerre a aplicação para que possa ser instalado nova versão.
Tentei fazer via comando EXERUN mas o programa tem que ser encerrado pelo usuário.

Bom seria também uma opção tipo Live Update mas como implementar?
Se os colegas tiverem uma sugestão melhor poderemos avaliar.

Obrigado
Avelino

Título: Re:Atualização programa no cliente via página web
Enviado por: Arlindo Reis em Junho 05, 2014, 11:26:25 am
Uma maneira "tranquila" de fazer isso é com uma tabela de 'controle de versão' e solicitação de atualização via servidor com webservice.

Ao iniciar a aplicação o sistema deve solicitar a validade e a versão ao servidor, se for compatível que esta rodando, legal, pode pular a etapa e roda as rotinas sequentes. Caso não, o sistema deverá gravar na tabela as informações da versão anterior e 'queimar' o executável principal e chamar um "updater.exe" da vida com as funções de download, atualização de registro do windows, etc e atualização de bd - VITAL, assim será mais simples para o usuário final.

Podes usar o EXEInfo (Clique aqui (http://doc.windev.com/en-US/?3035001&name=exeinfo_function)) para adquirir alguma informações da versão do aplicativo. Também há uma lista vasta de comandos que você pode usar para fazer esse processo de atualização (Clique aqui (http://doc.windev.com/en-US/?3035005))

Uma solução é verificar se o webdev dá possibilidade de fazer o "MAGNET APP" como se fosse o Torrent que baixamos pelo piratebay ou kickass, sabes como é? Veja aqui (http://pt.wikipedia.org/wiki/Magnet-Link) Se tiver algo como isso será uma mão na roda, caso não, ai vc vai ter que fazer um applet para detectar se há o sistema naquela estação que o cliente está.
Título: Re:Atualização programa no cliente via página web
Enviado por: Davi em Junho 06, 2014, 10:25:32 am
para finalizar o programa use o ExeTerminate("nomeaplicacao.exe")
Título: Re:Atualização programa no cliente via página web
Enviado por: Davi em Junho 06, 2014, 10:28:29 am
Nos temos a seguinte solucao, tudo feito pelo windev.

temos um serviço que fica instalado no servidor do cliente.
este serviço compara os arquivos de uma pasta repositoria no servidor com os que colocamos em uma pagina, os que tem o md5 diferente, ele baixa.
com isso, temos o servidor sempre atualizado.

Para as estações, temos dois executáveis, uma chamado inicializador, onde ele vai comparar os arquivos com o servidor e substituir se necessario, apos isso ele chama o executavel do programa ja atualizado.

esse serviço tambem executa scripts do banco de dados para nos.