Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Mad Antrax en 15 Octubre 2013, 23:51 pm



Título: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: Mad Antrax en 15 Octubre 2013, 23:51 pm
Bueno, tal y como prometí, os presento mi proyecto de Actualizador de Aplicaciones

El programa es muy básico pero cumple correctamente su función sin necesidad de complicar al usuario ni al programador. La herramienta está tan bien programada que no es necesario ni que accedáis al source del Smart Updater para implementar su función en tu aplicación.

Dada la propia naturaleza de Smart Updater, se puede utilizar como WebInstaller (es decir, un programa que descarga e instala desde 0 tu aplicación en un PC), así como para mantener siempre actualizados los ficheros del programa en cualquier equipo. Veamos como funciona:

(http://i.imgur.com/m3cLV9D.png)

Smart Updater solo necesita un fichero de configuración para que pueda encontrar el listado actualizado de los ficheros de tu programa, ese listado se llama updater.lst y estará colgado en la carpeta FTP/WEB junto a la copia de tu programa actualizado, para que se entienda os voy a poner un ejemplo práctico:

http://cactus-software.elhacker.net/EJEMPLO.zip

Descarga éste ejemplo de Smart Updater ya compilado, descomprime smart_updater.exe y smart.cfg en una misma carpeta. El contenido del smart.cfg es mi aplicación de ejemplo que será instalada/actualizada en tu PC:

Contenido del smart.cfg
Código:
http://cactus-software.elhacker.net/MyApp/

El contenido de cactus-software.elhacker.net/MyApp/ es el siguiente:
(http://i.imgur.com/MICqbA0.png)

Se puede ver distintos ficheros y carpetas de ejemplo, además del mencionado updater.lst. Smart Updater buscará el fichero updater.lst y descargará/actualizará todos los ficheros que aparezcan listados.

Bueno, ahora ejecuta el fichero Smart_Updater.exe y pulsa el botón UPDATE, verás como la aplicación descarga el updater.lst, comprueba los ficheros locales y los ficheros del listado y si no coinciden lo descargan. Fácil, verdad?

Para generar un fichero updater.lst válido sobre cualquier carpeta o aplicación, solo tienes que descargar el siguiente programa: http://cactus-software.elhacker.net/Smart_Updater_Maker.zip

El programa es sencillo, lo ejecutas y seleccionas la carpeta de tu aplicación. El programa generará un updater.lst con el contenido de la carpeta (y subcarpetas) que has seleccionado. El fichero updater.lst se almacena al lado del Smart Updater Maker.exe, dicho fichero lo tienes que subir a tu FTP/WEB junto a la aplicación, tal y como se puede ver en la foto anterior de mi ejemplo.

El source de la aplicación también lo publico, pero no es necesario para añadirlo a una aplicación existente: http://cactus-software.elhacker.net/SmartUpdater_Engine.zip

======================================

Si alguien tiene dudas o preguntas... que pregunte!! No es fácil explicar el funcionamiento de éste programa de forma escrita, así que si hay dudas me avisáis :)


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: rapbyone en 16 Octubre 2013, 00:01 am
Excelente  ;-) sos un genio amigo, lo descargaré y probare, cualquier duda la comentó.

Un consulta el programa te avisa cuando hay una nueva versión o hay que comprobarlo manualmente?


Gracias amigo  ;D


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: Mad Antrax en 16 Octubre 2013, 00:05 am
Excelente  ;-) sos un genio amigo, lo descargaré y probare, cualquier duda la comentó.

Un consulta el programa te avisa cuando hay una nueva versión o hay que comprobarlo manualmente?


Gracias amigo  ;D

No te avisa. Aunque teniendo el código siempre puedes añadir esa opción tú mismo (no es complicado, si no sabes lo puedo implementar yo).

Para integrar Smart Updater en tu aplicación simplemente añade n botón que se llame actualizar y dentro pones:

Código
  1. Shell "Smart_Updater.exe /auto"
  2. End
  3.  

De ésta forma ejecutarás el updater con el parámetro /auto y se auto-actualizará todo automáticamente. Si no añades el parametro /auto el usuario deberá pulsar el botón UPDATE manualmente.

Prueba el EJEMPLO.ZIP y dime si se descarga todo correctamente en tu PC


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: rapbyone en 16 Octubre 2013, 01:19 am
Amigo, intente bajar el Smart_Updater.exe y el source, pero están caídos los enlaces   :xD


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: Mad Antrax en 16 Octubre 2013, 01:32 am
Amigo, intente bajar el Smart_Updater.exe y el source, pero están caídos los enlaces   :xD

Fixed, ahora ya funcionan. El enlace de EJEMPLO.zip funciona correctamente, lo has podido probar?


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: rapbyone en 16 Octubre 2013, 02:21 am
Fixed, ahora ya funcionan. El enlace de EJEMPLO.zip funciona correctamente, lo has podido probar?

Así es amigo, funciona perfecto, me actualizada los archivos y carpetas de la ruta señala, es hermoso  ;-) ahora probare con archivos y ruta mia


gracias amigo, cualquier cosa lo informo  :xD


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: rapbyone en 16 Octubre 2013, 04:39 am
Amigo habra alguna manera de agregar una barra de progreso a medida que se descargan los archivos? Si es mucho trabjo no te preocupes.

Funciona perfecto amigo :D

una pregunta hay algún limite de tamaño para actualizar los archivos?? pretendo que se actualicen unos 400mb


saludos


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: Mad Antrax en 16 Octubre 2013, 12:22 pm
Amigo habra alguna manera de agregar una barra de progreso a medida que se descargan los archivos? Si es mucho trabjo no te preocupes.

Funciona perfecto amigo :D

una pregunta hay algún limite de tamaño para actualizar los archivos?? pretendo que se actualicen unos 400mb


saludos

Por la forma en que he programado el downloader no se puede agregar una barra de progreso. Lo que he añadido es un label que indica que fichero está descargando y cuando ha finalizado de descargar todos los ficheros. Se podría añadir una animación que indique al usuario que está descargando y que no desespere, así quedaría más bonito.

No hay ningún límite de descarga, si tienes que actualizar 400MB lo puedes hacer, lo mejor es que lo pruebes en tu PC primero. Smart Updater sirve tambien como FileIntegrityCheck. Si un fichero es borrado o modificado (aunque sea un bit) será actualizado por la comprobación CRC32, pruebalo y me cuentas :)


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: rapbyone en 17 Octubre 2013, 13:35 pm
Amigo una ultima petición y no te fastidio mas  :-[ como tengo que hacerlo, para que aparezca el actualizador automáticamente, cuando haya una nueva versión??

Es decir que el programa se ejecute en segundo plano, verifique si hay actualización, si hay se lanza el mensaje de que hay nuevas actualizaciones y si no hay, que el actualizador se cierre y continué todo normal.

Si es mucho trabajo, no te preocupes, con lo que hiciste estoy muy contento  ;-)


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: Mad Antrax en 17 Octubre 2013, 14:24 pm
Amigo una ultima petición y no te fastidio mas  :-[ como tengo que hacerlo, para que aparezca el actualizador automáticamente, cuando haya una nueva versión??

Es decir que el programa se ejecute en segundo plano, verifique si hay actualización, si hay se lanza el mensaje de que hay nuevas actualizaciones y si no hay, que el actualizador se cierre y continué todo normal.

Si es mucho trabajo, no te preocupes, con lo que hiciste estoy muy contento  ;-)
Hay que hacer algunas modificaciones, se me ocurre lo siguiente:

Subir a tu FTP un archivo llamado version.txt dentro del fichero poner por ejemplo 1.1
El ejecutable principal de tu programa tendrá almacenada su versión actual, por ejemplo 1.0. El programa descarga el fichero version.txt y compara el 1.1 con 1.0, al ser distintos lanza un mensaje para que se active el lanzador. Te lo voy a escribir en pseudo-codigo:

Código
  1. Sub Main()
  2. MyVersion = "1.0"
  3. FTP_Version = DownloadFile("version.txt")
  4. If MyVersion <> FTP_Version Then
  5.  If MsgBox "Hay una nueva version, deseas actualizar?" = vbYes Then
  6.   Shell "smartupdater.exe /auto"
  7.   End
  8.  End If
  9. End Sub
  10.  

Sería eso a groso modo, evidentemente tienes que codearlo bien, con su sintaxis y todo. De todas fromas (sin acritud) desconozco ese "proyecto" importante que estás haciendo, pero si no eres capaz ni de programar una función similar... significa que no debe ser un "proyecto importante" como dices xD

He leído varios posts tuyos y tienes dudas de nivel-1. No quieras empezar una casa por el tejado :D


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: rapbyone en 17 Octubre 2013, 17:08 pm
Hay que hacer algunas modificaciones, se me ocurre lo siguiente:

Subir a tu FTP un archivo llamado version.txt dentro del fichero poner por ejemplo 1.1
El ejecutable principal de tu programa tendrá almacenada su versión actual, por ejemplo 1.0. El programa descarga el fichero version.txt y compara el 1.1 con 1.0, al ser distintos lanza un mensaje para que se active el lanzador. Te lo voy a escribir en pseudo-codigo:

Código
  1. Sub Main()
  2. MyVersion = "1.0"
  3. FTP_Version = DownloadFile("version.txt")
  4. If MyVersion <> FTP_Version Then
  5.  If MsgBox "Hay una nueva version, deseas actualizar?" = vbYes Then
  6.   Shell "smartupdater.exe /auto"
  7.   End
  8.  End If
  9. End Sub
  10.  

Sería eso a groso modo, evidentemente tienes que codearlo bien, con su sintaxis y todo. De todas fromas (sin acritud) desconozco ese "proyecto" importante que estás haciendo, pero si no eres capaz ni de programar una función similar... significa que no debe ser un "proyecto importante" como dices xD

He leído varios posts tuyos y tienes dudas de nivel-1. No quieras empezar una casa por el tejado :D

jajaj pero a pesar de ser muy novato, he logrado un programa que cumple a cabalidad algunas fusiones :D ha tenido una buena acogida.

El problema, es que todo lo he aprendido por ensayo y error, pero aun no aprendo la sintaxis, por ende mis dudas básicas.

Mi objetivo es aprender a programar en vb6, pero necesito el programa a corto plazo :D gracias por la ayuda, intentare agregarlo a mi programa



Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: rapbyone en 17 Octubre 2013, 20:00 pm
Una ultima inquietud  :-[

esto lo comprendo perfectamente

Código:
Shell "Smart_Updater.exe /auto"
End

pero como podría abrir el "Smart_Updater.exe" si este se encuentra un nivel antes que mi programa

Supongamos que el programa "Smart_Updater.exe" se encuentra en:

C:\Archivos de programa\Launcher\Smart_Updater.exe

y mi programa se encuentra en:

C:\Archivos de programa\Launcher\Val\Miprograma.exe

pero sin tener que especificar un ruta, por que la ruta del programa, puede ir variando en cada pc

Espero hacerme entender


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: NWitheir73 en 3 Septiembre 2014, 00:58 am
Alguien tiene los ejemplos y el proyecto del source de este programa??

Todos los links del post, estan caidos.

Gracias, Madantrax!


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: Mad Antrax en 3 Septiembre 2014, 15:26 pm
Alguien tiene los ejemplos y el proyecto del source de este programa??

Todos los links del post, estan caidos.

Gracias, Madantrax!

Cierto, el hosting lo cerré. Mañana lo subo todo a MediaFire, ok? Un saludo y disculpas


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: Miseryk en 3 Septiembre 2014, 22:37 pm
Con respecto a un autoupdater, lo que yo haría es lo siguiente:

dentro de un .ini, .txt o algo así y luego:

PathArchivoServer:PathArchivoCliente:hash/md5/etc

ej: \Host\mapas.mps:\Juego\Mapas\mapas.mps:m81asd823hf12 (blabla)

Así no tendría que ver por versiones, sinó por el archivo actualizado :D, éste es mi parecer pero es solo un ejemplo de como yo lo pensaría, saludos!


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: NWitheir73 en 4 Septiembre 2014, 20:20 pm
Cierto, el hosting lo cerré. Mañana lo subo todo a MediaFire, ok? Un saludo y disculpas

Ok, me gustaria verlo esperare por el link de mediafire  ;D Gracias de nuevo, Madantrax  :)


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: elezekiel en 4 Septiembre 2014, 20:57 pm
lei y me parecio interesante, a ver si aprendemos aun mas con ejemplos de gente experimentada :)

a esperar ese linkk.

gracias!


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: ZzzBrahian en 10 Noviembre 2014, 00:32 am
Mad, me serviria de mucho si resubes esta obra de arte...  :rolleyes:


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: Mad Antrax en 10 Noviembre 2014, 08:15 am
Aquí está el link: https://www.mediafire.com/?q7gm3pfee7qfj8z


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: ZzzBrahian en 10 Noviembre 2014, 18:56 pm
Todo un capo mad, gracias.  ;D


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: arley12 en 23 Noviembre 2014, 06:11 am
Tengo una duda, en que parte del codigo agrego el link a mi servidor para que descargue el archivo de configuracion?


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: rapbyone en 23 Noviembre 2014, 15:35 pm
Tengo una duda, en que parte del codigo agrego el link a mi servidor para que descargue el archivo de configuracion?

Eso los haces con el Updater Maker.exe,


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: Mad Antrax en 23 Noviembre 2014, 19:06 pm
Tengo una duda, en que parte del codigo agrego el link a mi servidor para que descargue el archivo de configuracion?

Exacto, el cource no lo necesitas, compila los 2 programas "tal cual", con el maker generas el fichero de configuración que subirás al server y al lado del updater dejarás el smart.cfg que contiene la URL para descargar el fichero generado por el maker.


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: arley12 en 23 Noviembre 2014, 20:15 pm
Ya entedi, muchas gracias
Ojalá les sirve a muchos!!


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: zetaperu en 15 Mayo 2015, 21:28 pm
Alguien conoce realmente el porque no descarga nada el programa sabiendo que ya se tiene alojado el updater.lst en el servidor web asi como el archivo a querer descargar o verificar actualizado.

Cuando ejecuto Smart_Updater con el smart.cfg me dice que ya está actualizado.... muy raro o hay algún paso que falta?


Espero alguna respuesta o guia del mismo.


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: zetaperu en 15 Mayo 2015, 22:04 pm
El problema radica al traer un .exe de menos de 2 mb, a alguien le sucede lo mismo?


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: Mad Antrax en 15 Mayo 2015, 22:24 pm
El problema radica al traer un .exe de menos de 2 mb, a alguien le sucede lo mismo?

Ummm, postea aqui tu cfg para intentar descargar yo el programa. Es posible que se trate de un fallo de conexión?


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: zetaperu en 15 Mayo 2015, 23:22 pm
Hola,

Adjunto el cfg https://drive.google.com/file/d/0ByU-xvsqeTCFVGtpTTFkYUh6Y2s/view?usp=sharing (https://drive.google.com/file/d/0ByU-xvsqeTCFVGtpTTFkYUh6Y2s/view?usp=sharing)



Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: Mad Antrax en 15 Mayo 2015, 23:28 pm
Hola,

Adjunto el cfg https://drive.google.com/file/d/0ByU-xvsqeTCFVGtpTTFkYUh6Y2s/view?usp=sharing (https://drive.google.com/file/d/0ByU-xvsqeTCFVGtpTTFkYUh6Y2s/view?usp=sharing)



Ya he visto el fallo:

El fichero CFG apunta correctamente a tu servidor, en ese servidor está el updater.lst
El error está en que el updater.lst está mal generado, su contenido es:

Código:
SIFAC.zip
414766
$C63F3333

Y el en servidor no existe ese fichero, existe un tal SIFAC.exe
Te recomiendo que utilices el "maker" para generar un updater.lst con los datos correctos de tus ficheros :)

Saludos


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: zetaperu en 16 Mayo 2015, 00:26 am
Sigue lo mismo, sin poder descargarlo


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: zetaperu en 16 Mayo 2015, 06:10 am
Genere de nuevo el updater.lst para el .exe y nada, sigue igual como lo comente al inicio, espero puedas darme una posible pista de lo que pueda estar sucediendo.




Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: Mad Antrax en 16 Mayo 2015, 09:12 am
Genere de nuevo el updater.lst para el .exe y nada, sigue igual como lo comente al inicio, espero puedas darme una posible pista de lo que pueda estar sucediendo.




Has subido mal el fichero EXE en la web, si te fijas, no se puede descargar ni accediendo por la URL en firefox o chrome:

http://acpsoluciones.web44.net/actualizaciones/SIFAC.exe

Revisa los permisos :D


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: zetaperu en 16 Mayo 2015, 18:43 pm
Los permisos públicos en el servidor los he vuelto a revisar y todos estan habilitados
¿Has podido alojar algún .exe en algun servidor y el programa ha podido descargarlo?


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: Mad Antrax en 16 Mayo 2015, 19:59 pm
Los permisos públicos en el servidor los he vuelto a revisar y todos estan habilitados
¿Has podido alojar algún .exe en algun servidor y el programa ha podido descargarlo?

Creo que te estás liando o yo no me estoy explicando bien...

El EXE que has alojado en tu FTP está mal, corrupto o hay algñun tipo de problema, ya que no se puede descargar... Si intentas acceder al EXE pinchando en un link normal (URL) tampoco se descarga, por eso motivo el updater tampoco puede descargar tu exe.

Revisa todo de nuevo, asegurate que pinchando en la URL de tu exe se pueda descargar, entonces verás que el updater también podrá.

Un saludo


Título: Re: [APP & SOURCE] Smart Updater - Añade un auto-actualizador a tus programas FACIL
Publicado por: zetaperu en 16 Mayo 2015, 20:26 pm
Volvi a generar el exe y lo subi, ejecute el SmartUpdater_Maker y envie dicho archivo al servidor, revise nuevamente los permisos y nada....

Pero como sucedio antes, zippie dicho archivo y si lo descarga pero un exe solo NO

¿Tendrá que ver el hosting algo?

Intentaré subirlo a otro hosting y veremos lo que pasa.