Page 1 of 1

ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Thu Dec 31, 2020 12:44 pm
by rterraz
Hola amigos del foro!
Alguien sabe si hay manera de hacer archivos ZIP o RAR AUTOEXTRAIBLES (.EXE) desde FWH ?
Yo uso desde hace mucho la HB_ZIPFILE() para generar archivos ZIP pero ahora necesito generar un archivo exe autoextraible, como hacen el ZIP o el RAR y me encuentro con que la funcion no tiene contemplada esa opcion y de ser posible no quisiera tener que usar lineas de comando para no depender del winzip o el winrar!
Hay alguna función propioa de FWH que permita hacerlo ?
Muchas gracias a todos y muy Feliz Año Nuevo !

Re: ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Thu Dec 31, 2020 7:22 pm
by Antonio Linares
Quieres un solo fichero EXE que al ejecutarse descomprima su contenido ?

Entiendo que un EXE pequeño y el fichero ZIP aparte no te sirve

Re: ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Thu Dec 31, 2020 10:46 pm
by rterraz
Hola Antonio, gracias por interesarte en el tema !
Lo que necesito es que en vez de generarse un .ZIP se genere un .EXE que al ejecutarlo se descomprima solo.
El winrar y el winzip lo hacen pero hay que hacerlo manualmente y yo necesito que el sistema lo genere directamente, por eso estoy buscando alguna funcion como la HB_ZIPFILE que pueda usar directamente desde el código. La hb_zipfile anda muy bien pero no genera ejecutables autoextraibles.
Intente hacerlo a traves de linea de comando del winrar pero no funciona bien !
Agradezco nucho tu ayuda

Re: ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Fri Jan 01, 2021 12:43 am
by karinha

Re: ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Fri Jan 01, 2021 7:11 pm
by rterraz
Hola Karinha
Mire lo que me pasaste...esta muy bien hecho pero sigue sin solucionarme el problema que tengo, se generan archivos .ZIP que despues necesitan el UNZIP para descomprimirlos. Yo necesito generar archivos ZIP autoextraibles ( EXE) que se descompriman solos al ejecutarlos, es para automatizar actualizaciones de un sistema en el cual todo el proceso debe hacerse sin intervencion del usuario. Con un simple winexcec se resuelve todo el problema.
Muchas cracias por tu ayuda!

Re: ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Sat Jan 02, 2021 1:07 am
by karinha
Holá, simples, use un .BAT y llame interno en el programa por RAR.EXE que viene con WINRAR.EXE y listo.

Ó

WinExec( "Rar,exe... parametros... " + NombreArch )

Saludos.

Re: ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Thu Jan 07, 2021 1:40 pm
by rterraz
Hola,
probe el RAR en modo consola y anda perfecto con un bat desde el sistema.
El unico inconveniente es que el usuario necesita tener el winrar instalado para que funcione.
Yo andaba buscando alguna funcion independiente del RAR ( tipo la HB_ZIPFILES() ) pero aparentemente ni en harbour ni en FWH hay algo que me sirva
Por ahora voy a usar el BAT a ver si con tiempo encuentro o hago algo que pueda reemplazarlo.
Un abrazo y muchas gracias por la ayuda !

Re: ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Fri Jan 08, 2021 7:43 am
by Baxajaun
Buenos días !

Quizás te pueda ayudar la clase T7Zip de Andi Jahja https://github.com/FiveTechSoft/xHarbour/blob/master/contrib/sevenzip/t7zip.prg y usar el SDK de 7Zip https://www.7-zip.org/sdk.html.

Muchas gracias.

Saludos

Re: ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Sat Jan 09, 2021 2:21 pm
by karinha
Baxajaun wrote:Buenos días !

Quizás te pueda ayudar la clase T7Zip de Andi Jahja https://github.com/FiveTechSoft/xHarbour/blob/master/contrib/sevenzip/t7zip.prg y usar el SDK de 7Zip https://www.7-zip.org/sdk.html.

Muchas gracias.

Saludos


Algun ejemplo, simples?

Regards, saludos.

Re: ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Mon Jan 11, 2021 8:59 am
by informaticaeloy
Hola, buenos días

Yo he creado setups con esta aplicación (aunque hay muchas otras) :

https://jrsoftware.org/isinfo.php

Tutorial:

https://www.gitmedio.com/como-crear-un-instalador-o-setup/

Configuras paso a paso las opciones y te genera un setup.exe con el típico asistente de licencia, para mi o para cualquier usuario, ruta destino, ....

Prueba y nos dices.

Saludos.

Re: ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Mon Jan 11, 2021 3:15 pm
by rterraz
Hola, esta opcion que me das ya la habia evaluado pero el problema es que lo que hago es un ejecutable para actualizar diariamente el sistema,que incluye archivos de varios tipo y de diferentes directorios y cuando se descomprimen se deben ejecutar acciones con los mismos que varian segun sea que es lo que se actualiza ( altas,bajas,modificaciones,actualizacion del propio ejecutable del sistema (para lo cual necesito detenerlo) , etc,etc) de diversa bases de datos. Esto es muy dificil programarlo en un instalador aparte de que tendria que hacer uno distinto cada dia. Por ahora lo estoy manejando con archivos BAT que incluyo en el propio ejecutable y mas o menos funciona pero quiero encontrar otra forma de hacerlo que sea mas automatica. No se si me explico bien!
FWH no tiene ninguna funcion que me permita generar un EXE autoextraible (en vez de un ZIP normal) para que la extraccion de archivos se realice en forma automatica y luego haga todas las actualizaciones necesarias.
De todas manera muchas gracias por tu sugerencia!
Abrazo

Re: ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Mon Jan 11, 2021 4:56 pm
by informaticaeloy
OK. Se me ocurre hacer un setup que "instale" tu exe hecho con FWH en un archivo temporal junto con los demás ficheros nuevos. Luego haces que se ejecute dicho exe (desde el programa que te comenté se puede poner la opción de "ejecutar aplicación al finalizar", tipo -> lanzar actualización) Seguro que desde FWh tu exe puede hacer actualizar el sistema: copia BD, modifica, elimina campos, añade campos, copia ficheros desde ese path temporal al definitivo, ... Desde tu exe seguro que puedes hacer todas esas tareas.

Si al programa en producción le pones un flag en alguna BD que compruebe si hay o no un fichero XXX, que creas al instalar el setup y destruyes al finalizar la actualización, puede comprobar que no se corra el programa en producción tras hacer el setup hasta que se corra la actualización completa.

1º setup que "instala" tu exe de actualización en un path temporal tipo ACTUALIZA.EXE
2º copia un flag.txt en algún path de producción
3º desde la app de producción comprueba si existe dicho ficher
4-1º si existe el flag.txt aviso al usuario de que hay actualizaciones pendientes y se da la opción de ejecutar el ACTUALIZA.EXE
4-2º si no existe el flag.txt lo corres normalmente
5º ejecutas ACTUALIZA.EXE y al finalizar eliminar flag.txt
6º Beer

Saludos.

Re: ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Mon Jan 11, 2021 6:46 pm
by Antonio Linares
Eloy,

muy bueno!

Re: ZIP AUTOEXTRAIBLE SE PUEDE HACER DESDE FWH ?

PostPosted: Mon Jan 11, 2021 7:09 pm
by rterraz
Eloy,
Muy buena tu idea !!!
Lo pruebo y si anda problema resuelto
Un abrazo