Ver Mensaje Individual
  #8 (permalink)  
Antiguo 20/02/2010, 12:19
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años, 1 mes
Puntos: 53
Respuesta: Actualizar Ejecutable

Parece ser que de esta manera funciona, pero ya se sabe que todos los caminos conducen a Roma

Al Iniciar el programa, memorizará la Fecha del EXE que está ejecutanto, despúes con un timer o cuando uno quiera verifica si hay una nueva versión y da el aviso, sale, etc

En mi caso, al mantener una Red de usuarios, si los cambios no son muy importantes, simplemente renombraré el .exe original por el .$$$ y pondré el nuevo exe. Los usuarios que entren después de la actualización, intentarán borrar el .$$$ por si ya no está en uso y a medida que salgan y entren estarán actualizados, sólo cuando .$$$ (el primer .exe) no esté en uso será borrado.


Código:
Option Explicit

Private Sub Form_Load()
  NuevaVersion
End Sub

Private Sub Command1_Click()
  If NuevaVersion Then MsgBox "Existe una nueva version"
End Sub

Public Function NuevaVersion() As Boolean
  Static FechaDelExe As Date
  On Error Resume Next
  If FechaDelExe = 0 Then
    ' La primera vez que se llame a NuevaVersión, memorizará la fecha del EXE
    FechaDelExe = FileDateTime(App.Path & App.EXEName & ".exe")
    ' Borrará si puede y existe el .$$$ si alguien lo usa no lo borrará y seguirá
    Kill App.Path & App.EXEName & ".$$$"
    Exit Function
  End If
  ' Si la fecha guardada y la del exe son diferentes, es una nueva versión
  If FileDateTime(App.Path & App.EXEName & ".exe") <> FechaDelExe Then NuevaVersion = True
End Function
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...