FOR?AR FINALIZA?ÃO DE .EXE

ICHIHARA 17/07/2017 08:47:43
#475237
Bom dia Pessoal!

Possuo um sistema desenvolvido em Vb6 que fica em um servidor da rede.
Nele existe uma uma rotina que verifica no banco de dados a versão atual, e se a mesma não bater o .exe se auto finaliza.
Fui obrigado a montar esta rotina, pois como existe muitos usuários não consigo atualizar o sistema pois ao tentar substituir o arquivo o windows informa que o mesmo esta sendo utilizado.
Acontece que por algum motivo nem sempre o mesmo se auto finaliza quando a versao esta diferente.
Descobri que se existir um msgbox na tela do sistema o mesmo fica preso e não cai no evento do timer que faz esta vefificação.

Pergunta:
Existe algum timer que não fique preso devido a message box ou algo que não permita que seja acionado o evento timer?
Quando o usuário vai no servidor e executa o sistema, existe alguma maneira de retirar o [Ô]vinculo[Ô] com o arquivo que esta na rede e assim caso eu precise atualizar não seja emitido o aviso de arquivo em uso?

Abrigado!
KURTGU 17/07/2017 09:01:31
#475238
Aqui eu fiz da seguinte forma criei um atualizador a parte, quando o sistema esta em versao diferente fecho o executavel e abro o atualizador simples assim, ai nao da esse erro de arquivo sendo usado.
ICHIHARA 17/07/2017 10:10:39
#475240
Kurtgu bom dia,
Poderia detalhar mais?
Nao entendi muito bem...
MFLAVIO 17/07/2017 11:33:18
#475241
Citação:

:
Kurtgu bom dia,
Poderia detalhar mais?
Nao entendi muito bem...



Amigo Crie um EXE(Atualizador) a parte, que verifica a versão do EXE e compare com a informação do DB
esse Atualizador pode encerrar o EXE e atualizar o arquivo na pasta

assim fica mais Fácil.

No meu caso Uso assim

O Atalho na area de trabalho do Cliente, chama o Atualizador, que verifica se precisa atualizar, se precisar ele atualiza o EXE e depois abre o EXE
se não precisar atualizar ele só abre o EXE

KURTGU 17/07/2017 18:05:38
#475250
Citação:

:
Kurtgu bom dia,
Poderia detalhar mais?
Nao entendi muito bem...



O atualizador é um .exe a parte do seu sistema que só e chamado quando a versao do sistema precisa ser atualizada...Ele faz todo o trabalho de atualizacao exclue o antigo .exe do seu sistema e coloca o novo no lugar.
FUTURA 17/07/2017 18:29:11
#475253
Kurtgu, e como vc contra isso?. Como envia o exe para o cliente?. E como o exe do cliente checa se tem att ?
KURTGU 18/07/2017 00:23:35
#475257
Antes fazia desta forma mais descobri sobre ClickOnce e estou usando somente ele..
ICHIHARA 19/07/2017 09:24:04
#475280
KURTGU bom dia!
O problema é o [Ô]deletar[Ô].
Alguns usuários não fecham o sistema e eu nao consigo excluir...
ICHIHARA 21/07/2017 14:23:16
#475338
WEBMASTER 21/07/2017 15:13:10
#475339
Talvez uma coisa que voce poderia fazer era nas estações clientes ter um vbs/bat que fizesse realmente a derrubada do teu aplicativo com um simples
taskkill -f -im [Ô]seuprograma.exe[Ô]


Externamente ele pode ser chamado a qualquer momento, garantia de que derrubará pelo menos você vai ter, ai é uma questão de ver [Ô]quando[Ô] chamá-lo
ICHIHARA 21/07/2017 15:40:07
#475340
Opa webmater,
Gostei...
Vou ver se as maquinas aqui tem permissao de executar este comando.


Obrigado!
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas