Como hacer un Updater o actualizar front-end.

03/04/2010 - 02:01 por Juan Carlos | Informe spam
Alguien incursiono en esto ? pregunto al estilo de los programas visual
basic que revisan en la web si hay una version nueva y que se actualice
el front-end automaticamente.

Tenemos el problema que nuestras aplicaciones no son exe por eso me
gustaria saber si alguno penso en algo al respecto.
gracias

Preguntas similare

Leer las respuestas

#1 Ceac
03/04/2010 - 18:49 | Informe spam
Hola,

Asi es una forma de hacerlo:

1.- separar formularios de tablas,
2.-subo a mi web (de pago) las tablas empaquetadas en un exe con el
innosetup y un txt con la version a descargar
3.-al abrir la bd con los formularios leo la version que tengo
instalada, me voy al server y leo un txt donde esta la version a
instalar
3.- si la version del server es superior a la de la maquina con un
control llamado msinet.ocx la descargo y la coloco en el patch de la
aplicacion
4.- pregunto al usuario si la quiere instalar ahora o despues (guardo
el resultado enuna tabla por si acaso no quiere y asi le pregunto
despues)
5.-si dice que si cierro la aplicacion y ejecuto el exe el cual me
instalara la ultima version (solo la parte de los formularios)
6.- el inno setup al acabar ejecuta la nueva version de los
formularios
7.Ž-ahora biene lo bueno, si quiero hacer cambios en las tablas
(añadir/borrar) o en los campos hago que al abrir se me abra un
formulario de novedades donde digo lo nuevo de la version, este
formulario solo tiene un boton y es modal, de tal forma que cuando
haga click me ejecuta el codigo que crea/modifica tablas o campos e
incluso datos
8-para que la proxima vez no vuelva a abrir este formulario en una
tabla guardo si tiene que abrirlo o no


Codigo:

(no te olvides de agregar el control msinet.ocx)

1.-esta funcion sirve para descargar un fichero

Public Function Download(cTempFile As String, cURLFile As String) As
Boolean
On Error GoTo DownloadError

Dim b() As Byte
' Make Temp File Name
Open cTempFile For Binary Access Write As #1

' Download File

Inet1.URL = cURLFile
b() = Inet1.OpenURL(Inet1.URL, icByteArray)

Put #1, , b()

Close #1

' Transfer Success !
Download = True
Exit Function

DownloadError:
' Transfer Error !
Download = False
End Function

2.-con esta funcion descargo fichero de la version y despues de
comprobar que hay una version mas nueva descargo el exe

Public Function Update() As Boolean
On Error Resume Next

Dim lReturn As Boolean
Dim cVersion As String
Dim mensaje, estilo, título, respuesta
'Inicializaci"n
lReturn = False

' Bajar archivo para verificar la versi"n ( FILE.TXT )
If Download("c:\ver.txt", "http://www.tu_servidor.com/ver.txt") Then

' Obetener linea para leer version

Open "c:\ver.txt" For Input As #1

Line Input #1, cVersion

Close #1

'Borrar archivo temporal

Kill "c:\ver.txt"

' Tenemos ya la misma versi"n ""

If cVersion <> "" And MY_VERSION < cVersion Then
mensaje = "ATENCIÓ!!! Hi ha una nova versió ,. la vol
instal.lar ? " ' Define el mensaje.
estilo = vbYesNo + vbQuestion + vbDefaultButton2 ' Define los
botones.
título = "Actualització" ' Define el título.


' Muestra el mensaje.
respuesta = MsgBox(mensaje, estilo, título)

If respuesta = vbYes Then
' Bajar la actualizaci"n
'hago una barra de progreso (aun falta por definir correctamente)
DoCmd.OpenForm "frmprogreso"
lReturn = Download("c:\actualizacioninternet.exe", "http://
www.tu_servidor.com/actualizacioninternet.exe")
Else
'con este formulario digo las novedades (cuando acabe hay que
vincular)
'DoCmd.OpenForm "control"


lReturn = False

End If
End If
End If

Update = lReturn
End Function
Respuesta Responder a este mensaje
#2 Juan Carlos
04/04/2010 - 01:18 | Informe spam
Estimadisimo Ceac expectacular tu solucion !!!
muchisimas gracias, me ha servido muchisimo.
ya estoy haciendo pruebas con esto que me pasaste.

gracias de nuevo !


El 03-04-2010 01:49 p.m., Ceac escribió:
Hola,

Asi es una forma de hacerlo:

1.- separar formularios de tablas,
2.-subo a mi web (de pago) las tablas empaquetadas en un exe con el
innosetup y un txt con la version a descargar
3.-al abrir la bd con los formularios leo la version que tengo
instalada, me voy al server y leo un txt donde esta la version a
instalar
3.- si la version del server es superior a la de la maquina con un
control llamado msinet.ocx la descargo y la coloco en el patch de la
aplicacion
4.- pregunto al usuario si la quiere instalar ahora o despues (guardo
el resultado enuna tabla por si acaso no quiere y asi le pregunto
despues)
5.-si dice que si cierro la aplicacion y ejecuto el exe el cual me
instalara la ultima version (solo la parte de los formularios)
6.- el inno setup al acabar ejecuta la nueva version de los
formularios
7.Ž-ahora biene lo bueno, si quiero hacer cambios en las tablas
(añadir/borrar) o en los campos hago que al abrir se me abra un
formulario de novedades donde digo lo nuevo de la version, este
formulario solo tiene un boton y es modal, de tal forma que cuando
haga click me ejecuta el codigo que crea/modifica tablas o campos e
incluso datos
8-para que la proxima vez no vuelva a abrir este formulario en una
tabla guardo si tiene que abrirlo o no


Codigo:

(no te olvides de agregar el control msinet.ocx)

1.-esta funcion sirve para descargar un fichero

Public Function Download(cTempFile As String, cURLFile As String) As
Boolean
On Error GoTo DownloadError

Dim b() As Byte
' Make Temp File Name
Open cTempFile For Binary Access Write As #1

' Download File

Inet1.URL = cURLFile
b() = Inet1.OpenURL(Inet1.URL, icByteArray)

Put #1, , b()

Close #1

' Transfer Success !
Download = True
Exit Function

DownloadError:
' Transfer Error !
Download = False
End Function

2.-con esta funcion descargo fichero de la version y despues de
comprobar que hay una version mas nueva descargo el exe

Public Function Update() As Boolean
On Error Resume Next

Dim lReturn As Boolean
Dim cVersion As String
Dim mensaje, estilo, título, respuesta
'Inicializaci"n
lReturn = False

' Bajar archivo para verificar la versi"n ( FILE.TXT )
If Download("c:\ver.txt", "http://www.tu_servidor.com/ver.txt") Then

' Obetener linea para leer version

Open "c:\ver.txt" For Input As #1

Line Input #1, cVersion

Close #1

'Borrar archivo temporal

Kill "c:\ver.txt"

' Tenemos ya la misma versi"n ""

If cVersion<> "" And MY_VERSION< cVersion Then
mensaje = "ATENCIÓ!!! Hi ha una nova versió ,. la vol
instal.lar ? " ' Define el mensaje.
estilo = vbYesNo + vbQuestion + vbDefaultButton2 ' Define los
botones.
título = "Actualització" ' Define el título.


' Muestra el mensaje.
respuesta = MsgBox(mensaje, estilo, título)

If respuesta = vbYes Then
' Bajar la actualizaci"n
'hago una barra de progreso (aun falta por definir correctamente)
DoCmd.OpenForm "frmprogreso"
lReturn = Download("c:\actualizacioninternet.exe", "http://
www.tu_servidor.com/actualizacioninternet.exe")
Else
'con este formulario digo las novedades (cuando acabe hay que
vincular)
'DoCmd.OpenForm "control"


lReturn = False

End If
End If
End If

Update = lReturn
End Function
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida