ATUALIZAR

USUARIO.EXCLUIDOS 12/04/2007 13:07:39
#211518
Galera,

Preciso criar um .BAT que faça atualização do sistema.

Preciso atualizar o .exe que esta no servidor para as estações.

Alguém pode me ajudar?!!
valew
VBAPRENDE 12/04/2007 13:20:54
#211526
Kara aqui na empresa aonde eu trabalho eu uso assim;
No VB mesmo.

FileCopy "c:\seu_arquivo.exe", "\\cliente1\c\sua_pasta\seu_arquivo.exe"

Ele copia o arquivo da maquina que você ta para a maquina que chama cliente1 lembrando que a unidade remota tem que ta com a pasta compartilhada total.



Acho que é isso !!!
USUARIO.EXCLUIDOS 12/04/2007 13:29:15
#211530
Legal
Será q tem como fazer algo parecido direto no exe?
CAIO.IN.DUST 12/04/2007 13:32:30
#211531
TATISOUTO em Bat mesmo é facil

No bloco de notas digite:

copy [txt-color=#ff0000]\\btserver001\Transportes\patricia2.pdf[/txt-color] c:
cls
@Echo "Arquivo copiado"
@pause

A parte em vermelho vc coloca o caminho do arquivo no servidor, copie o bat para todas as maquina e execute-o, ira ser copiado o arquivo que vc quer para a basta em que esta o bat

Ate mais.
USUARIO.EXCLUIDOS 12/04/2007 13:53:18
#211533
Resposta escolhida
TATISOUTO, tem sim como fazer direto no exe.

No seu sistema ao ser iniciado chame a funcao TemAtualizacao:

Exemplo:

dim sFile as string
Public Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long

rem *** A funcao tem atualizacao verifica se o executavel dos micros esta com
data e hora diferentes com o executavel do servidor (numa pasta qualquer), ou seja
tem atualizacao *** Quando os usuarios entrarem no sistema o mesmo verifica
se tem atualizacao e copia o executavel da rede para o micro local.. ***

So que para fazer a copia propriamente dita vc precisa criar um programinha que
chamei de OutroAplicativel.exe que fara a copia do executavel do servidor
para o micro, conforme segue exemplo abaixo: (qualquer duvida, post...)

if TemAtualizacao then
fileCopy "\\NomeServidor\Pasta\OutroAplicativel.exe", App.Path & "\OutroAplicativel.exe"
sFile = App.Path & "\OutroAplicativel.exe"
WinExec sFile, 1
end if



Function TemAtualizacao() As Boolean

on error goto Erro

Dim DataLocal As Date, DataRemota As Date, iTentativa As Integer
DataLocal = CDate(FileDateTime(App.Path & "\NomedoExecutavelDaSuaAplicacao.exe"))
On Error GoTo ErroTemAtualizacao
DataRemota = CDate(FileDateTime("\\NomedoServidor\Pasta\NomedoExecutavelDaSuaAplicacao.exe"))
TemAtualizacao = (DataRemota > DataLocal)
Exit Function

Erro:
If Err.Number = 5 Then
iTentativa = iTentativa + 1
If iTentativa = 3 Then Exit Function
Resume
End If
Resume Next
end Function



espero ter ajudado.

USUARIO.EXCLUIDOS 13/04/2007 09:02:06
#211672
Legal, Na verdade não tem como fugir eu preciso criar um outro programinha a parte neh?!
USUARIO.EXCLUIDOS 13/04/2007 09:06:45
#211675
exatamente, mas o outro programinha fica bem pequeno...daí nesse programinha vc coloca uma telinha tipo (Atualizando dados...aguarde).
Tópico encerrado , respostas não são mais permitidas