ATUALIZANDO UM SISTEMA, MSGBOX ???
Pessoal,
Boa Tarde, preciso de uma dica, já pensei em algumas saidas mas nada realmente util ....
Possuo um sistema em VB6/SQL2000 instalado num servidor W2K3, e com 80 usuários acessando o sistema simultaneamente através de atalhos no desktop de suas máquinas, porem, diariamente necessito atualizar o sistema, ou seja, re-compilar o arquivo SISTEMA.EXE e para isso tenho feito uma gambiarra de remover e repor o compartilhamento de rede, para que eu consiga substituir o arquivo SISTEMA.EXE caso contrario é exibido uma mensagem de arquivo em uso.
O que pensei e o que preciso:
Talvez que surja na tela do usuário um msgbox e/ou um form saltetante com bolinhas vermelhas e amarelas ....
Talvez um shutdown forçado na aplicação ....
Porem preciso que o usuário saiba que a aplicação vai fechar, pra que ele não venha a ligar para encher o saco falando que o sistema caiu ...
Alguem ja passou por isso e tem uma solução ?!
Abraços ...
EMinghini
Boa Tarde, preciso de uma dica, já pensei em algumas saidas mas nada realmente util ....
Possuo um sistema em VB6/SQL2000 instalado num servidor W2K3, e com 80 usuários acessando o sistema simultaneamente através de atalhos no desktop de suas máquinas, porem, diariamente necessito atualizar o sistema, ou seja, re-compilar o arquivo SISTEMA.EXE e para isso tenho feito uma gambiarra de remover e repor o compartilhamento de rede, para que eu consiga substituir o arquivo SISTEMA.EXE caso contrario é exibido uma mensagem de arquivo em uso.
O que pensei e o que preciso:
Talvez que surja na tela do usuário um msgbox e/ou um form saltetante com bolinhas vermelhas e amarelas ....
Talvez um shutdown forçado na aplicação ....
Porem preciso que o usuário saiba que a aplicação vai fechar, pra que ele não venha a ligar para encher o saco falando que o sistema caiu ...
Alguem ja passou por isso e tem uma solução ?!
Abraços ...
EMinghini
Tu pode criar uma rotina de atualização automática, onde o proprio EXE se atualiza e reestarta.
Att
Charles
Att
Charles
Eminguini,
Já é um tanto estranho ter uma aplicação que deve ser compilada diariamente, mas necessidade é necessidade! Eu criaria uma mensagem usando o NET SEND dizendo a todos que o sistema sairá por 2 minutos e outra mensagem para quando o sistema voltar. Mesmo os usuários que não estiverem presentes na estação saberão que o sistema atualizou. O problema é que teria que habilitar o serviço de Messenger em Administrative Tools -> Services em cada estação. Mas isso é só uma vez... acredito que é melhor que atender os chatos que telefonam...
[]'s André Milaré
Já é um tanto estranho ter uma aplicação que deve ser compilada diariamente, mas necessidade é necessidade! Eu criaria uma mensagem usando o NET SEND dizendo a todos que o sistema sairá por 2 minutos e outra mensagem para quando o sistema voltar. Mesmo os usuários que não estiverem presentes na estação saberão que o sistema atualizou. O problema é que teria que habilitar o serviço de Messenger em Administrative Tools -> Services em cada estação. Mas isso é só uma vez... acredito que é melhor que atender os chatos que telefonam...
[]'s André Milaré
Carinha, é por isso que gosto de deixar apenas o BD no servidor e os executáveis em cada máquina, mais vai lá... O que acho que pode fazer, é usar o WinSock, enviar dados à  todos e dpois enviar a msg para cada usuário...Procure no site por CHAT e WINSOCK...Ou ainda, se quiser algo mais fácil, colocar um timer no form principal que leia um arquivo que está junto com o EXE, daà neste arquivo vc grava a informação se é ou não pra fechar, tipo, se for pra fechar vc vai no arquivo (pelo bloco de notas mesmo) e digita SHUTDOWN, daà no timer (chamarei o arquivo de Comando.dat:
No Timer2
é isso, qualquer dúvida poste...flw
Private Sub Timer1_Timer()
Dim f As Integer
f = FreeFile
Open App.path & "\Comando.dat" For Input As #f
If UCase(Input(LOF(f), f)) Like "*SHUTDOWN*" Then
'Mostre aqui um form avisando que irá fechar...
'Ou uma msgbox dando um tempo:
MsgBox "O sistema está em atualização e será fechado em 1 minuto", vbInformation
'Daà vc põe um Timer2 com intervalo = 60000, e em seu conteúdo algo pra fechar o sistema
Timer2.Enabled = True
End If
Close #f
End Sub
No Timer2
Private Sub Timer2_Timer()
Dim f As Form
'Fecha todos forms...
For Each f In Forms
Unload f
Next f
End Sub
é isso, qualquer dúvida poste...flw
Ok pessoal, não fugiu muito do que estava pensando ...
1. Atualização do sistema ... isso fica uma pouco dificil, pois é turno 24 horas, sempre alguem esta usando.
2. Net send, é proibido aqui na empresa, o serviço é até desativado ...
3. Matioli, pensei tb no winsock .... só uma duvida ... eu preciso ter uma aplicação rodando direto no server né ? o do txt vou fazer o teste ....
abraços a todos ...
1. Atualização do sistema ... isso fica uma pouco dificil, pois é turno 24 horas, sempre alguem esta usando.
2. Net send, é proibido aqui na empresa, o serviço é até desativado ...
3. Matioli, pensei tb no winsock .... só uma duvida ... eu preciso ter uma aplicação rodando direto no server né ? o do txt vou fazer o teste ....
abraços a todos ...
Citação:3. Matioli, pensei tb no winsock .... só uma duvida ... eu preciso ter uma aplicação rodando direto no server né ? o do txt vou fazer o teste ....
Cara, nunca usei Winsock efetivamente, só pra testes à  toa, mas sim, vai precisar de um servidorzinho, e seu proprio programa seria os clientes...flw
Citação:1. Atualização do sistema ... isso fica uma pouco dificil, pois é turno 24 horas, sempre alguem esta usando.
O computador nunca é desligado? Pois senão, poderia colocar a atualização no login script.
Vc pode fazer o seu aplicativo emitir mensagens.
Assim, vc colocaria uma contagem regressiva para o sistema fechar.
Assim, vc colocaria uma contagem regressiva para o sistema fechar.
Tópico encerrado , respostas não são mais permitidas