Eu fiz via código....
Ele verifica pela data o executável entre estação e servidor.
salvo como atualizador.exe e chamo o sistema.exe. ( nomes exemplos )
'-------------------------------------------------------------------------
Dim DataDoMeu, DataDoServidor
Dim cAction As String
wDiretorio = "C:Sistema" 'Diretorio da Estação
DataDoServidor = FileDateTime("
\NomeServidorPastaSistemaSistema.exe")
DataDoMeu = FileDateTime(wDiretorio & "Sistema.exe")
If DataDoMeu < DataDoServidor Then
cAction = "open"
ShellEx frm_Atualizacao.hWnd, wDiretorio & "Sistema.exe", cAction
End
End If
'Caso não tenha atualização executa o sistema.
EhNovo = False
ShellEx frm_Atualizacao.hWnd, "", wDiretorio & "Sistema.exe", cParms, Action
End
'---------------------------------------------------------------------------------
' API para execução Shell
'
#If Win16 Then
Private Declare Function ShellExecute Lib "shell.dll" (ByVal hWnd As Integer, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Integer) As Integer
#Else
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
#End If
'
' constantes para ShellExecute
'
Public Const SW_HIDE = 0
Public Const SW_MAXIMIZE = 3
Public Const SW_MINIMIZE = 6
Public Const SW_NORMAL = 1
Public Const SW_SHOWDEFAULT = 10
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_SHOWMINIMIZED = 2
Public Const SW_SHOWMINNOACTIVE = 7
Public Const SW_SHOWNA = 8
Public Const SW_SHOWNOACTIVATE = 4
Public Const SW_SHOWNORMAL = 1
'
' Mensagens de erro da Shellexecute
'
Public Const ERROR_BAD_FORMAT = 11&
Public Const ERROR_FILE_NOT_FOUND = 2&
Public Const ERROR_PATH_NOT_FOUND = 3&
'
Public Const SE_ERR_ACCESSDENIED = 5
Public Const SE_ERR_ASSOCINCOMPLETE = 27
Public Const SE_ERR_DDEBUSY = 30
Public Const SE_ERR_DDEFAIL = 29
Public Const SE_ERR_DDETIMEOUT = 28
Public Const SE_ERR_FNF = 2
Public Const SE_ERR_NOASSOC = 31
Public Const SE_ERR_OOM = 8
Public Const SE_ERR_PNF = 3
Public Const SE_ERR_SHARE = 26
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long